2015-12-25 60 views
2

我是OS X的新手,如果這太基礎,請不要忽略。根據需要指示我我試圖將許多文件複製到本地mac機器上(例如:〜/ Desktop/Copy)複製目錄(從舊的外部硬盤驅動器)。 我有很多子目錄和文件與空間。我使用這個命令OS X複製目錄和文件的空間

cp -R /Volumes/My\ Passport/Directory1 ~/Desktop/Copy

我看到很多的錯誤說「沒有這樣的文件或目錄」,開始我還以爲它的一些問題與文件,後來發現其因爲文件名中有空格。任何人都可以建議我解決這個問題的好方法。我嘗試使用rsync,但是花了很長時間來構建這個列表,並且花費了很長時間。 在此先感謝。

+1

文件名中的空格不應該是問題。也許你可以粘貼錯誤信息?當爲你的任務使用'cp'時,你可能想要使用'-p'選項。 – m7thon

+0

看起來像問題是權限。由於MyPassport在Windows上使用,當連接到Mac時,它只是只讀。當我運行cp命令時,它甚至複製了權限,以便目標目錄也變爲只讀。錯誤,我看到的是:** cp:/Users/TestUser/Desktop/Office-D/CMS/AMD_VGA/SG/msvcr80.dll:權限被拒絕** – Sudheer

回答

0

爲了與cp命令,或任何命令的幫助,做man cp,或一般man command_name

如果你要複製的一切,你可以做

cp -R /Volumes/My\ Passport/ ~/Desktop/Copy/ 

這將複製的My Passport內容到一個名爲Copy的目錄。

如果你只想複製特定的文件,說目錄只,

cp -R `ls -p /Volumes/My\ Passport/ | grep /` ~/Desktop/Copy/ 

如果你想如果你要複製的文件或目錄的具體名稱

只複製文件

cp -R `ls -p /Volumes/My\ Passport/ | grep -v /` ~/Desktop/Copy/ 

cp -R /Volumes/My\ Passport/*.jpg ~/Desktop/Copy/ # copy only jpg files 
          *.txt     # copy only txt files 
          Vacation-2015-*   # copy files or dir that have the prefix 'Vaction-2015-' 
          *2015.jpg    # copy files with postfix '2015.jpg' 
+1

簡單的'cp'命令將正常工作,將那些使用通配符來獲取文件列表的文件,但是所有使用'ls ...'來獲取文件列表的命令都會在其名稱中包含空格(和其他一些元字符)的文件上失敗。見[「爲什麼你不應該解析ls的輸出」](http://mywiki.wooledge.org/ParsingLs)。 –

相關問題