2012-04-14 208 views
0

我需要壓縮某些文件和目錄。假設他們被放置在/ root/project中。 的事情是,我需要壓縮它們與特定名稱(name.tar.gz)一個gzip壓縮包格式,並在「根」目錄,我的意思是,只要我打開了名爲.tar.gz的所有我想壓縮的文件和目錄在那裏。壓縮文件和目錄

我曾嘗試使用下面的命令嘗試:

tar czfv name.tar.gz /root/project 
tar czfv name.tar.gz /root/project/* 

但隨後的整個子得到壓縮(我的意思是,當我打開名爲.tar.gz我必須通過目錄根/項目進行導航..我不,我需要的文件,只要我在「/」打開了我想)

我希望我已經解釋了自己...原諒我的英語不好,並在此先感謝!

回答

0

如果你想在壓縮包到所有的文件名有project/前綴(通常是可取的),做

(cd /root && tar czvf `pwd`/name.tar.gz project) 

如果你不想前綴可言,做

(cd /root/project && tar czvf `pwd`/name.tar.gz .) 

pwd在執行cd之前捕獲當前工作目錄;圓括號在子shell中執行該命令,因此您的當前shell保持在同一目錄中。)

+0

第二種選擇是我想要的!謝謝!唯一的問題是,當我壓縮時,.tar.gz也會沿着其他文件壓縮! (一種遞歸的東西:S) – Lucia 2012-04-14 11:06:02

+0

@路西亞:我不知道你的意思。 「tar」的'z'選項會導致整個文件被壓縮。 – 2012-04-14 11:07:07

+0

當我打開新的name.tar.gz文件,它裏面出現與所有文件壓縮另一個name.tar.gz與0Bytes ..:我不知道爲什麼。 – Lucia 2012-04-14 11:12:58

2

如果你正在使用的GNU tar可以使用下面的命令:

tar -C /root/project -zcvf /root/name.tar.gz .

-C原因焦油加入.目錄歸檔之前更改爲/root/project目錄。確保存檔的目標目錄不在要歸檔的目錄中(/ root/project)。本示例在/ root中創建存檔。