使用 tar 复制没有父目录的文件

使用 tar 复制没有父目录的文件

我正在尝试使用从一个目录tar复制my_folder到另一个目录。我想调整此代码,但我不知道如何在提取文件夹时删除父目录。

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

有人有想法吗?

答案1

你可以先做一个明确的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

(请注意源路径中的细微差别。)

相关内容