2010-05-24 94 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選項通過符號鏈接進行解引用。當然,如果你想要存儲的某些文件實際上是符號鏈接,那麼這將不起作用。