2010-05-24 147 views
1

当通过'tar c ...'命令制作tar + gzip时,可能会在扩展时忽略相对路径吗?让Tar + gzip忽略目录路径

例如,

tar cvf test.tgz foo ../../files/bar 

然后用

tar xvf test.tgz 

扩大test.tgz给出包含的目录:

foo files/bar 

我想包含文件的目录:

foo bar 

这可能吗?

+1

此问题属于superuser.com – 2010-05-24 15:22:12

+0

'man tar'可以帮到你 – tur1ng 2010-05-24 15:26:55

回答

4

如果所有路径都以相同的初始目录列表开始,那么您可以使用例如tar cvf test.tgz -C ../.. other/dir。请注意,shell不会正确扩展通配符中的通配符,但是因为-C要求tar更改目录。

否则,我想出的唯一方法是创建一个临时目录,并填入适当的符号链接,并使用-h选项通过符号链接进行解引用。当然,如果你想要存储的某些文件实际上是符号链接,那么这将不起作用。