如何对目录中选定的文件进行 TAR

如何对目录中选定的文件进行 TAR

我的系统中有以下路径

/a/b/z
/c/d/
/e/f/z
/y/g/

在“z”目录中,有一些文件我只想对这些文件进行 tar,而不进入目录。

答案1

假设您的 tarfile$TARBALL带有绝对路径

tar cfC $TARBALL /a/b/z .
tar AfC $TARBALL /e/f/z . 

-C选项将目录更改为下一个参数。目前尚不清楚的是,当两个目录中存在同名文件时会发生什么。

另一种方法是保留路径名:

tar cf $TARBALL /a/b/z /e/f/z

路径名将保留并保存在 tarball 中,并且这些目录将在提取过程中创建。

答案2

假设你的文件就像

/home/usr/dir1/dir2/a.txt
/home/usr/dir1/dir2/b.txt
/home/usr/dir1/dir3/a.txt
/home/usr/dir1/dir3/b.txt

如果你想压缩dir2a.txtfrom dir3,那么你可以使用

tar -cvf mytarfile.tar /home/usr/dir1/dir2/ /home/usr/dir1/dir3/a.txt

或者只是做

tar -cvf mytarfile.tar dir2 dir3/a.txt

停留在dir1dir2驻留的目录中dir3

相关内容