AIX 複製時建立目錄

AIX 複製時建立目錄

在 AIX 複製檔案時建立不存在的目錄的最佳方法是什麼?像這樣的東西:

ssh server1 'cp -R ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory
ssh server1 'cp -r ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory

~user2/ 目錄存在,但 ~user2/bin 目錄不存在。

答案1

一種可能性是使用 tar 管道:

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -x -p -f -)

這使用子 shell 變更到來源位置的父目錄,然後告訴tar將「log」目錄的存檔寫入標準輸出。第二個子 shell 改為目標的父目錄,然後指示tar提取通過管道的標準輸入傳入的存檔。這些tar命令被連結起來,&&僅當相應的命令成功時才執行cd

您可以透過告訴第二個tar簡單地列印傳入內容來測試這一點;只需將 更改-x-t。使用-pwith-t並不重要,也不會造成傷害:

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -t -p -f -)

相關內容