linux 帶路徑拷貝檔案

spectre2發表於2015-08-26
    最近有個需求,需要在幾千個3到4級目錄中找到所有的sh指令碼檔案,進行備份,要求備份時保持sh指令碼檔案所在的目錄結構。
    難道要專門寫個shell嗎?太麻煩了,之前從網上發現了一個好玩的命令:
     tar -cpf - kehu/szyx50/backup.sh  | tar -xpf - -C shell_backup/
    這條命令的作用是:先把kehu/szyx50/backup.sh打包,再在shell_backup/下解包,這樣,sh指令碼檔案和它相應的目錄結構就都儲存下來了。
    我對這條命令中的  “ ”  和  " | " 的使用不太明白,也找不到相關的資料
,汗一個先,請知道的大牛們不吝賜教。
    大概猜測一下,“ ” 可能對應的是 bash中的
standard outputstandard input ;通過管道符進行傳輸,不知道對不對。
    剩下的就簡單了,通過find找到指令碼檔案和路徑,執行上面的命令,搞定。
    忘記說了,要用xargs哦,或者先將find結果寫入檔案,在用tar -l讀取檔案列表。
    來個例子吧:find ./kehu/ -name "*.sh"  |xargs tar -cpf -  |tar -xpf - -C ./test/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-1783101/,如需轉載,請註明出處,否則將追究法律責任。

相關文章