2012-08-27 162 views
7

我必須將多個文件壓縮到一個tar文件。由於我必須對許多不同文件夾中的許多文件重複此操作,因此我編寫了一個shell腳本並從父目錄啓動它。 shell腳本包含多行類似如下:創建沒有文件夾結構的tar文件

tar -cf a/b/c/tarfile.tar a/b/c/* 

這會在指定的文件夾焦油文件,但裏面的tar文件的A/B/C /依然存在的文件夾結構。

我想要的是,c /中的所有文件都放在tarfile.tar文件夾結構a/b/c /中。這可能嗎?

回答

14

tar -cf a/b/c/tarfile.tar -C a/b/c .將切換到該目錄a/b/c,並在整個目錄讀取(在. - 您可以指定特定的文件爲好,但通配符不會做你期待什麼)。根據需要可以重複-C <directory> <filelist>模式以處理來自不同位置的其他文件。

給你原來的例子是cd a/b/c; tar cf ../../../tarfile.tar *另一種可能性,但不給你拉從不同的位置(當然,你仍然可以使用-C,但相對路徑,就必須相應地調整多個文件的可能性。

+0

謝謝twalberg,我嘗試了你的第二條建議,它工作。(先進入direcotry,然後創建tar文件) – ala

相關問題