如果我理解正确的问题,您可以使用-C(大写C =更改目录)选项,例如:
tar cvf /tmp/some.tar -C /path/to/dir1 . -C /path/to/dir2 . #multiple -C allowed
检查一下
tar cf - -C /path/to/dir1 . -C /path/to/dir2 . | tar tvf -
例:
创建一个测试用例
cd /tmp
mkdir test
cd test
mkdir -p {dir{1..3},testdir}
touch dir1/file{1..3} dir2/file{4..6} dir3/file{7..9}
树现在是:
$find . -print
.
./dir1
./dir1/file1
./dir1/file2
./dir1/file3
./dir2
./dir2/file4
./dir2/file5
./dir2/file6
./dir3
./dir3/file7
./dir3/file8
./dir3/file9
./testdir
焦油:
tar cf - -C dir1 . -C ../dir2 . -C ../dir3 . | tar tvf -
tar内容是:
drwxr-xr-x 0 jm staff 0 14 aug 13:07 ./
-rw-r--r-- 0 jm staff 0 14 aug 13:07 ./file1
-rw-r--r-- 0 jm staff 0 14 aug 13:07 ./file2
-rw-r--r-- 0 jm staff 0 14 aug 13:07 ./file3
drwxr-xr-x 0 jm staff 0 14 aug 13:08 ./
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file4
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file5
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file6
drwxr-xr-x 0 jm staff 0 14 aug 13:08 ./
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file7
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file8
-rw-r--r-- 0 jm staff 0 14 aug 13:10 ./file9
如果您想要其他内容,请编辑您的问题.