2012-04-11 66 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