tar命令詳解

Linux下的gzip和bzip2命令都是針對文件的壓縮。即使針對目錄來壓縮,也是將目錄下的文件逐個壓縮,而不是像Windows下的winrar軟件一樣,可以將目錄整個壓縮。那要實現目錄整個壓縮的功能,就要用到tar這個打包命令。而tar不僅有打包的功能,其還能通過調用bzip2或gzip進行壓縮和解壓縮。

tar的選項非常多,常用的選項含義如下:

-c:打包文件,可搭配-v來察看過程中被打包的文件

-t:查看打包後的文件中都打包了哪些文件

-x:解打包或解壓縮。可以搭配-C(大寫C)將文件解壓到特寫目錄中去

-j:通過bzip2的支持進行壓縮/解壓縮,此時一般產生的文檔名爲*.tar.bz2

-z:通過gzip的支持進行壓縮/解壓縮,此時一般產生的文檔名爲*.tar.gz

-v:在壓縮/解壓縮的過程中,將正在處理的文件名顯示出來

-f filename:-f後面跟要產生的文件名。建議-f單獨寫一個選項

-C 目錄:解壓縮的時候,可以使用-C選項來解壓到特定目錄中去

-p:保留原數據的權限與屬性

-P(大寫P):保留絕對路徑

--exclude=file:可以將某文件單獨去掉,不打包它

其實tar命令最常用的選項如下:

tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名 //此命令用於打包和壓縮

tar -jtv -f filename.tar.bz2 //此命令用於查詢文件

tar -jxv -f filename.tar.bz2 -C 要解壓到的目錄 //此命令用於解壓到特定目錄

在上述3個命令中,都是使用了bzip2進行壓縮和解壓。其中,filename.tar.bz2即是壓縮產生的那個文件。而最後一個解壓的命令,如果不加-C選項,是默認解壓到當前目錄。

再值得一提的是,由於tar命令不像gzip和bzip2那樣會自動產生新文件名,所以需要我們自定義產生的壓縮文件包。如果是隻是打包,則最好將產生的文件命名爲filename.tar,如果是又調用bzip2進行了壓縮,則最好將產生的文件命名爲filename.tar.bz2。

clip_image002

上圖中,使用tar將新創建的file1/file2/file3/file4進行了打包和壓縮,併產生了新的壓縮文件file1234.tar.bz2。

而要查詢壓縮文件中都有哪些文件,可以:

clip_image004

而解壓縮的話,可以:

clip_image006

需要注意的是,在某些教材上,將僅使用tar -c進行打包的文檔叫做tarfile,而如果在打包的同時進行了壓縮的操作,則將產生的文件叫做tarball。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章