Tar

使用 tar 複製沒有父目錄的文件

  • August 25, 2021

我正在嘗試使用從一個目錄tar複製my_folder到另一個目錄。我想修改此程式碼,但我不知道在提取文件夾時如何刪除父目錄。

tar cf - /f1/f2/my_folder | tar -C /f1/f3/f4/ -xf -

有人會有想法嗎?

你可以先做一個明確的cd

( cd /f1/f2/my_folder && tar -c -f - .  ) | tar -x -f - -C /f1/f2/f4

…但是由於您已經熟悉該-C選項,因此您也可以在管道的存檔生成端使用它:

tar -c -f - -C /f1/f2/my_folder . | tar -x -f - -C /f1/f2/f4

如果你想複製my_folder目錄而不僅僅是它的內容,

tar -c -f - -C /f1/f2 my_folder | tar -x -f - -C /f1/f2/f4

就個人而言,我認為這有點混亂,所有選項都有什麼,所以我可能會rsync改用:

rsync -a /f1/f2/my_folder/ /f1/f2/f4

或者,複製目錄(不僅僅是內容),

rsync -a /f1/f2/my_folder /f1/f2/f4

(注意源路徑的細微差別。)

引用自:https://unix.stackexchange.com/questions/666198