linux資料拷貝複製到移動硬碟的問題

來源:互聯網
上載者:User

標籤:移動硬碟   linux   伺服器   檔案夾   parent   

   問題:我伺服器中有些資料需要find出來拷貝到移動硬碟中,並保持原目錄結構,find ./ -name ‘*‘ -exec cp -v --parents {} /mnt \; 我是這樣寫的,./下的子目錄會在/mnt中建立,有個問題就是我需要在/mnt/中建立的子目錄裡另建一個目錄data,然後把子目錄中的資料放到子目錄下的data檔案夾裡,最後就是 /mnt/建立的子目錄/data/原子目錄的資料,請問這樣用shell指令碼怎樣實現,小弟菜鳥,望高手指教。



你可以分成兩次find操作嘛,一次建立目錄,第二次用個迴圈拷貝資料。比如:第一次: find ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \;第二次:for dir in /mnt/*;dofind ./${dir} -name ‘*‘ -type f -exec cp -v --parent {} /mnt/${dir} \;done

追問:

abcd12234,你好,因為我也是剛接觸linux,只懂些基礎命令,shell指令碼什麼的完全不懂,這兩個命令可以放在一個檔案裡執行嗎?怎麼實現幫我寫個指令碼吧,謝謝了

追答:

#!/bin/bashfind ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \;for dir in /mnt/*;dofind ./${dir} -name ‘*‘ -type f -exec cp -v --parent {} /mnt/${dir} \;done直接把兩條命令放到一塊然後丟進某個檔案就行,最上面那個注釋是shebang行,用來告訴bash這個程式需要那個程式來解釋可以給它添加可執行許可權sudo chmod +x ./filename執行:./filename

追問:

你好,我試了,第一個命令find ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \; 好像哪裡出錯了,取不到目錄結構,怎麼能先把要尋找檔案所在的目錄結構複製下來暫時不複製檔案?就像你說的第一步先複製檔案所在的目錄結構,第二部在複製檔案到裡面,求教。

追答:

你只要目錄結構的話那就把 -exec開始的都去掉就行了,就是只執行:find ./ -name ‘*‘ -type d


本文出自 “江湖笑笑生” 部落格,請務必保留此出處http://hashlinux.blog.51cto.com/9647696/1791567

linux資料拷貝複製到移動硬碟的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.