將一個目錄複製到另一個目錄並建立中間目錄

將一個目錄複製到另一個目錄並建立中間目錄

我想複製整個/usr/share/zoneinfo/目錄進入 /var/www/clients/client1/web5/./usr/share/zoneinfo/。 (/./為了清晰和格式化目的而添加)

目錄 /var/www/clients/client1/web5/ 存在,但底層usr/共享/zoneinfo目錄沒有。

有沒有辦法用一個命令來做到這一點,還是我必須mkdir -p先打電話?

我以為cp --parents會這樣做,但似乎它只在複製單個文件而不是整個目錄時有效。

答案1

由於您指定的是 的目標位置/var/www/clients/client1/web5/./usr/share/zoneinfo/,因此cp將首先查看以確保目錄存在以寫入檔案。所以是的,您需要先建立目錄。但是,如果/var/www/clients/client1/web5/./usr/share/已經存在,您應該能夠:

cp -pr /usr/share/zoneinfo /var/www/clients/client1/web5/./usr/share/zoneinfo

因為存在要寫入目錄的目標目錄zoneinfo

答案2

rsync -a --relative成功了。

rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/

信用去往unix_ninja這則推文

相關內容