Linux下的解壓縮命令__Linux

來源:互聯網
上載者:User

在Linux中有很多的壓縮公用程式,本文主要介紹gzip/gunzip/zcat、bzip2/bunzip2/bzcat、tar、zip/unzip。

為了方便示範。我們首先建立一個名為“test.txt”的文字檔,其內容如下所示:

Hello!This is a test!End of file.
1. gzip/gunzip/zcat

gzip用於壓縮普通檔案;gunzip用於解壓縮 gzip 所建立的壓縮檔;gcat用於查看gzip建立的壓縮檔源內容。
gzip只能用於壓縮普通檔案,注意,是普通檔案。不能將整個目錄壓縮為單個檔案,如果我們以遞迴形式壓縮目錄,則gzip會遞迴的進入每個子目錄並依次壓縮其中的普通檔案。gzip建立的壓縮檔預設以.gz、-gz和.z為副檔名,具體為哪個要視檔案系統類型而定,表1展示了不同尾碼名所對應的檔案系統。

副檔名 檔案系統
.gz Linux上的EXT檔案系統
-gz VFS(虛擬檔案系統)
.z MS-DOS(微軟磁碟作業系統)、Windows NT FAT、OS/2 FAT、Atari

gzip的參數選項如下所示:

-c:將壓縮後的資料輸出都螢幕(不產生壓縮檔)。-d:解壓縮檔案-f:強制覆蓋已有的檔案-k:保留源檔案(預設是不保留的)-t:測試壓縮檔的完整性(與-v選項一起使用)-r:遞迴的壓縮所有檔案-v:詳細的輸出執行過程(預設不輸出)-1:以速度最快壓縮。-9:以壓縮率最好壓縮。(可以從1-9變化,預設是6)

例如我們要壓縮之前建立的”test.txt”檔案,可以輸入以下指令:

$ gzip -krv test.txttest.txt:     0.0% -- replaced with test.txt.gz

注意,gzip壓縮公用程式預設是將源檔案替換為壓縮檔,如果要保留源檔案,需要顯式的指定’-k’參數,以上-krv表示保留源檔案、遞迴的壓縮所有檔案並詳細的輸出壓縮過程。
從輸出中可以看到有三個參數:源檔案–test.txt,壓縮比–0.0%和輸出檔案–test.gz。

如果我們要解壓縮剛剛建立的檔案,只需輸入以下指令

$ gzip -dv test.txtgzip: test.txt already exists; do you wish to overwrite (y or n)? ytest.txt.gz:      0.0% -- replaced with test.txt

從輸出可以看到,由於目前的目錄下存在”test.txt”檔案, 所以會出現是否覆蓋的提示,如果我們不想讓它輸出次內容。可以加上”-f”參數。

gunzip是gzip的解壓縮版,也就是只提供解壓縮功能,其參數與gzip一樣(不包括”-d”參數),比如我們要解壓縮剛剛建立的test.txt.gz可以如下輸入:

$ gunzip -v test.txt.gztest.txt.gz:      0.0% -- replaced with test.txt

zcat是用來查看gzip壓縮檔對應的源檔案的內容。使用如下:

$ zcat test.txt.gzThis is a test!
2. bizp2/bunzip2/bcat

bzip2 相比 gzip 具有更好的壓縮比, 它的用法幾乎與gzip 相同。bzip2建立的壓縮檔以.bz2為副檔名,下面是bzip2的常用參數:

-c:將壓縮後的資料輸出都螢幕(不產生壓縮檔)。-d:解壓縮檔案-f:強制覆蓋已有的檔案-k:保留源檔案(預設是不保留的)-t:測試壓縮檔的完整性(與-v選項一起使用)-r:遞迴的壓縮所有檔案-v:詳細的輸出執行過程(預設不輸出)-z:壓縮檔(預設參數)

bunzip2用於解壓縮bzip2建立的壓縮檔,bcat則是查看bzip2壓縮檔對應源檔案的內容。它們的使用方法與gzip/gunzip/zcat類似,不在這裡贅述,請參照gzip/gunzip/zcat的用法。 3. tar

上面的gzip和bizp2命令大多隻針對單一的檔案進行壓縮,雖然也可以對目錄進行遞迴的壓縮,但是是基於單個檔案進行壓縮的,也就是說會為該目錄下每一個檔案建立一個壓縮檔,而不是建立一整個歸檔檔案,這時,就要使用到tar命令了,它即可單簡單的將多個目錄打包(不進行壓縮),也可以通過gzip和bzip2對打包的內容加以壓縮。tar命令有多個參數支援多種操作。下面就來看看tar命令的使用吧。

tar命令的參數分為多個種類,包括主操作、操作修飾、重寫控制、裝置分塊、選擇歸檔格式、裝置分塊、壓縮選項和提示選項等等。本文指介紹主操作、選擇歸檔格式、壓縮選項和提示選項。這些參數如下:

/* 主操作選項 */-A:追加tar格式的歸檔檔案到歸檔-c:建立一個新的歸檔-r:追加檔案到歸檔結尾-t:列出歸檔檔案的內容-u:更新歸檔中的檔案,如果歸檔中不存在則添加。-x:從歸檔中解出檔案/* 選擇歸檔格式選項 */-H:後接文檔格式,文檔格式有以下幾種   gnu-- 1.13.x(預設格式也是常用的)   oldgnu--GNU format as per tar <=1.12   pax--POSIX 1003.1-2001(pax)   posix--等同於 pax   ustar-- POSIX 1003.1-1988 (ustar) 格式   V7--old V7 tar 格式/* 壓縮選項 */-a:根據副檔名自動確定壓縮程式-j:通過bizp2來壓縮-z:通過gzip來壓縮-Z:通過compress來壓縮/* 其他選項 */-v:詳細的輸出壓縮過程-f:指定壓縮後的檔案名稱或要解壓縮的檔案名稱

比如我麼要壓縮上述的test.txt檔案,可以輸入如下命令:

$ tar -jcf test.txt.tar.bz2 test.txt

或者

$ tar -zcf test.txt.tar.gz test.txt

或者

$ tar -acf test.txt.tar.gz test.txt

上面第一種和第二種分別使用不同的壓縮公用程式進行壓縮,第三種是根據副檔名自動確定壓縮公用程式。如果我們要解壓,只用將”-c”參數換成”-x”參數即可。

當然我們也可以不進行壓縮,只是將多個檔案進行簡單的歸檔,可以如下輸入:

$ tar -cf [output-file] [input-file]

其中output-file和input-file分別指定輸出檔案名和要進行歸檔的檔案的名字。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.