2012-04-11 35 views
0

我正在OS X上开发一个备份工具,并且我注意到我的程序没有复制别名。通过一些调试,我发现当你试图使用cp复制一个别名时,它就好像该文件不存在一样。如何让UNIX'cp'命令识别OS X别名?

例子:

cp -p "/Users/spurlock/Desktop/IT3 Backups/IT3 HD1/Users/spurlock/Library/Caches/Desktop/iPhoto Albums/Photos/2008-00070.2.JPG" . 
cp: /Users/spurlock/Desktop/IT3 Backups/IT3 HD1/Users/spurlock/Library/Caches/Desktop/iPhoto Albums/Photos/2008-00070.2.JPG: No such file or directory 

有没有办法让cp认识到OS X的别名?如果没有,我怎样才能以编程方式复制它们(C,C++,Obj C)

回答

0

你没有仔细看错误。

cp存在于Macintosh上,通常效果很好。这里的问题似乎是该文件不存在于您期望的地方。

尝试做:

ls "/Users/spurlock/Desktop/IT3 Backups/IT3 HD1/Users/spurlock/Library/Caches/Desktop/iPhoto Albums/Photos/2008-00070.2.JPG" 

,看看是否可行。

+0

是的,它的工作原理。问题是该文件是一个别名,我相信这些文件存在。 – 2012-04-11 16:44:01

+0

我刚刚在Finder中创建了一个文件的别名,并通过“'cp'”和“'cp -p'”将它复制到我的机器上,没有任何问题。我认为你的文件或你正在尝试阅读的那个目录有其他问题(可能是权限问题?) – 2012-04-11 16:46:11

+0

啊哈!它只能复制指向不再存在的文件的别名。卫生署。谢谢! – 2012-04-11 16:50:57