在linux shell中使用cp指令,如何將整個目錄複製到另一個目錄?

在linux shell中使用cp指令,如何將整個目錄複製到另一個目錄?

我有一個目錄,比方說,「work」:〜/work/ 該目錄中有一些子資料夾(d1,d2 ...)以及這些子資料夾中的檔案。我想在同一個資料夾中製作備份副本,所以它會像: ~/backup/work/ 但是,當我使用 cp -r ./work ./backup 資料夾“work”時,不會複製它,只複製它的子資料夾(所以現在是~/backup/d1 ~/backup/d2...) 知道如何讓它運作嗎?我對 shell 很陌生,所以我錯過了一些東西:)

答案1

cp 不會建立前導目錄;當它看到不存在的路徑時,它將假定它是正在複製的目錄的新名稱。

嘗試複製到已存在的目錄中:mkdir work首先,然後cp -r work backup.

答案2

嘗試

rsync -avz ./work ./backup

答案3

cp -r ./work/ ./backup/

或者

cp -r ./work ./backup/work

答案4

如果您使用的是 Linux 系統:

cp -rT --parents work backup/work

相關內容