ubantu 檔案解壓縮

2021-09-08 18:34:34 字數 4460 閱讀 2114

對於剛剛接觸linux的人來說,一定會給linux下一大堆各式各樣的檔名給搞暈。別個不說,單單就壓縮檔案為例,我們知道在windows下最常見 的壓縮檔案就只有兩種,一是,zip,另乙個是.rar。可是linux就不同了,它有.gz、.tar.gz、tgz、bz2、.z、.tar等眾多的 壓縮檔案名,此外windows下的.zip和.rar也可以在linux下使用,不過在linux使用.zip和.rar的人就太少了。本文就來對這些 常見的壓縮檔案進行一番小結,希望你下次遇到這些檔案時不至於被搞暈。

在具體總結各類壓縮檔案之前呢,首先要弄清兩個概念:打包和壓縮。打包是指將一大堆檔案或目錄什麼的變成乙個總的檔案,壓縮則是將乙個大的檔案通過一些壓 縮演算法變成乙個小檔案。為什麼要區分這兩個概念呢?其實這源於linux中的很多壓縮程式只能針對乙個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你就 得先借助另它的工具將這一大堆檔案先打成乙個包,然後再就原來的壓縮程式進行壓縮。

zip

zip可能是目前使用得最多的文件壓縮格式。它最大的優點就是在不同的作業系統平台,比如linux, windows以及mac os,上使用。缺點就是支援的壓縮率不是很高,而tar.gz和tar.gz2在壓縮率方面做得非常好。閒話少說,我們步入正題吧:

linux下提供了zip和unzip程式,zip是壓縮程式,unzip是解壓程式。常用命令選項:

-d   從壓縮檔案內刪除指定的檔案,要解壓到指定目錄需要在目錄前指定-d。

-m  將檔案壓縮並加入壓縮檔案後,刪除原始檔案,即把檔案移到壓縮檔案中。

-q   不顯示指令執行過程。

-r   遞迴處理,將指定目錄下的所有檔案和子目錄一併處理。

-s   包含系統和隱藏檔案

-v   顯示指令執行過程或顯示版本資訊。

-i《範本樣式》 只壓縮符合條件的檔案。

-x《範本樣式》 壓縮時排除符合條件的檔案。

-n  《字尾字串》 不壓縮具有特定字尾字串的檔案。

-《壓縮效率》 壓縮效率是乙個介於1-9的 數值。

舉例:

zip -r mydata.zip mydata          //

將mydata目錄壓縮為mydata.zip

unzip mydata.zip -d mydatabak      //

將mydata.zip解壓到mydatabak目錄,注意要-d

unzip mydata.zip             //

將mydata.zip解壓到當前mydata目錄

unzip dsw\*.zip              //

將dsw目錄下的所有zip檔案解壓到dsw目錄下

unzip -v wwwroot.zip           //檢視wwwroot.zip裡面的內容

rar

tar -xzpvf rarlinux-3.2.0

.tar.gz

cd rar

make

這樣就安裝好了,安裝後就有了rar和unrar這兩個程式,rar是壓縮程式,unrar是解壓程式。

rar x vpsyou.rar           //

解壓 vpsyou.rar 到當前目錄

將 vpsyou.com 目錄打包為 vpsyou.rar

rar c test.rar            //

rar d test.rar file1.txt      //從test.rar包中刪除file1.txt

rar e test.rar            //不能儲存當前目錄結構,所有檔案都在本目錄

rar x test.rar            //解壓出來會儲存目錄結構

a 新增檔案到操作文件

c 對操作文件新增說明注釋

d 從文件中刪除檔案

e 將檔案解壓到當前目錄(所有的檔案被解壓到當前目錄,不能保持壓縮前的目錄結構,如果想保持壓縮前的目錄結構,用x解壓)

x 帶路徑解壓文件中內容到當前目錄 

tar

tar是在linux中使用得非常廣泛的文件打包格式。它的好處就是它只消耗非常少的cpu以及時間去打包檔案,他僅僅只是乙個打包工具,並不負責壓縮。

如何打包:

# tar -cvf archive_name.tar directory_to_compress

如何解包:

# tar -xvf archive_name.tar /tmp/  //後面解壓路徑為null時,預設解壓到當前路徑

常用引數:

-c 建立新的歸檔檔案

-r 向歸檔檔案末尾追加檔案

-x 從歸檔檔案中解出檔案

可以這樣記憶,建立新的檔案是c,追加在原有檔案上用r,從檔案中解壓出用x

-t  檢視內容

-o 將檔案解開到標準輸出

-v 處理過程中輸出相關資訊

-f 對普通檔案操作                  //似乎一直都要用f,不然的話,可能會不顯示

-j  呼叫bzip2來壓縮歸檔檔案

-z 呼叫gzip來壓縮歸檔檔案,與-x聯用時呼叫gzip完成解壓縮

-z 呼叫compress來壓縮歸檔檔案,與-x聯用時呼叫compress完成解壓縮

-p :使用原檔案的原來屬性(屬性不會依據使用者而變)

-p :可以使用絕對路徑來壓縮!

-n :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!

--exclude file:在壓縮的過程中,不要將 file 打包!

舉例:

tar cvf dsw.tar dsw                   //將dsw檔案打包為tar檔案

tar czvf dsw.tar.gz dsw                 //

z結合c時,表示將檔案打包為tar.gz格式

tar xzvf dsw.tar.gz                    //

z結合x時,表示將檔案從.tar.gz包中解壓

tar zxvf dsw.tar.gz -c builds             //指定解壓dsw到builds目錄,注意需要-c

tar zcvfp back.tar.gz ./new

//打包new目錄下所有檔案,並保留其原有屬性

tar -zcvf file.tar.gz ./new/ --exclude ./new/tmp  //

打包new目錄下除tmp之外的所有資料夾

tar.gz tar.z tar.bz2

tar.gz這種格式是我使用得最多的壓縮格式。它在壓縮時不會占用太多cpu的,而且可以得到乙個非常理想的壓縮率。與gzip相對的解壓程式是gunzip

compress也是乙個壓縮程式,但是好象使用compress的人不如gzip和bzip2的人多,z結尾的檔案就是bzip2壓縮的結果.與 compress相對的解壓程式是uncompress ,tar中使用-z這個引數來呼叫compress。

bzip2是乙個壓縮能力更強的壓縮程式,.bz2結尾的檔案就是bzip2壓縮的結果,這種壓縮格式是我們提到的所有方式中壓縮率最好的。當然,這也就意味著,它比前面的方式要占用更多的cpu與時間。與bzip2相對的解壓程式是bunzip2,tar中使用-j這個引數來呼叫gzip

注意:請注意z和z與tar中c(歸檔),x(解壓)配合使用

z + c = 將檔案打包並使用gzip壓縮為tar.gz

z + x = 將壓縮包使用gzip將包解壓

z + c = 將檔案打包並使用compress壓縮為tar.z

z + x = 將壓縮包使用compress解壓

j  + c = 將檔案打包並使用bzip2壓縮為tar.bz2

j  + x =  將壓縮包使用gzip將包解壓

解壓縮:

將所有.jpg檔案打成tar包,並且其用compress壓縮

tar -xzf all.tar.z         //

將上面打的包解開

上面這個解包命令將會將文件解開在當前目錄下面。當然,你也可以用這個命令來捏住解包的路徑:

tar -zxvf archive_name.tar.gz -c /tmp/extract_here/

tar -cjf all.tar.bz2 *.jpg    //將所有.jpg檔案打包成tar包,並且使用bzip2壓縮

tar -xjf all.tar.bz2        //將上面打的包解壓 

上面這個解包命令將會將文件解開在當前目錄下面。當然,你也可以用這個命令來捏住解包的路徑:

tar -jxvf archive_name.tar.bz2 -c /tmp/extract_here/

檔案解壓縮

tar 解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 注 tar是打包,不是壓縮!gz解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓縮 gzip filename tar.gz 解壓 t...

檔案壓縮與解壓縮

類 zipfile 構造方法 zipfile file file 開啟供閱讀的zip檔案,由指定的file物件給出。zipfile file file,int mode 開啟新的zipfile以使用指定模式從指定file物件讀取 zipfile string name 開啟zip檔案進行閱讀 方法摘...

Linux 檔案壓縮解壓縮

tar格式 解包1 tar xvf filename.tar 解包2 tar xvf filename.tar c dirname tar解壓縮到指定目錄 打包 tar cvf filename.tar dirname tar是打包,不是壓縮!gz格式 解壓1 gunzip filename.gz ...