我正在尝试使用从一个目录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
(请注意源路径中的细微差别。)