我的系统中有以下路径
/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
如果你想压缩dir2
和a.txt
from dir3
,那么你可以使用
tar -cvf mytarfile.tar /home/usr/dir1/dir2/ /home/usr/dir1/dir3/a.txt
或者只是做
tar -cvf mytarfile.tar dir2 dir3/a.txt
停留在dir1
并dir2
驻留的目录中dir3
。