linux壓縮工具的比較

2021-06-04 01:26:48 字數 4023 閱讀 7047

一、linux壓縮工具概述

首先,我們看一下下面這張「壓縮包副檔名與壓縮工具對應表」,大家通過這張表,就知道網上

工具名 壓縮包副檔名

gzip/gunzip 「.gz」

compress/uncompress 「.z」

zip/unzip 「.zip」

bzip2/bunzip2 「.bz2」

lha 「.lzh」

接下來,我們通過例項,來測量一下它們的壓縮效率與效能:

測試一:

測試資料:原始檔是乙個資料庫檔案,其

大小為5,244,928;

測試結果:

gzip:19,136,2秒

compress:17,769,1秒

zip:19,261,2秒

bzip2:1902,2秒

測試二:

測試資料:原始檔是乙個/etc

目錄的tar包,其大小為2,631,680;

測試結果:

gzip:551,736,2秒

compress:877,391,3秒

zip:551,856,3秒

bzip2:478,512,11秒

測試三:

測試結果:

gzip:17,151,395,43秒

compress:壓縮失敗,43秒

zip:17,151,509,42秒

bzip2:16,587,991,2分40秒

通過上面的實驗,我認為如果你需要高壓縮率,就

選擇bzip2;否則最佳選擇就是gzip,它的價效比較好,而且是純正的自由軟體:gzip就是gnu zip!

在linux/unix系統下,用這些壓縮軟體是不能直接對乙個目錄進行打包,當您需要這樣做時,通常先使用tar進行歸檔,將整個目錄打包成為乙個tar包,然後用壓縮軟體來壓縮。下面我們以備份/etc目錄下的所有檔案為例,說明一下:

tar –cvf etc /etc (將在當前目錄生成乙個etc.tar)

gzip etc.tar (將會把etc.tar壓縮成為etc.tar.gz)

關於tar的更多資訊,我們將專文說明。

好了,說了這麼多,下面我們就一起逐一看一下這些壓縮工具的用法。

二、linux壓縮工具概述

1.gzip和gunzip

壓縮包副檔名:「.gz」

特點:

1)它是純正的自由軟體,效能不錯!

2)若沒有加上任何引數,生成壓縮檔案後,會刪除原始檔案;

命令使用:

1) 壓縮乙個檔案:

gzip file 這樣將生成file.gz,刪除原檔案file;

2) 壓縮乙個檔案,並保留原始檔:

gzip –c a > a.gz

3) 提高壓縮率:gzip –9 file

注:壓縮等級可以從1-9,

數字越大壓縮效果越好,但要花的時間也越長,預設值為6。

4) 解壓縮:

gzip –d file.gz 或

gunzip file.gz

5) 顯示詳細資訊:

gzip –v file

6) 顯示版本資訊:

gzip –v

2.bzip2和bunzip2

壓縮包副檔名:「.bz2」

特點:

1)它採用了新的壓縮演演算法,壓縮效果比傳統的lz77/lz78壓縮演演算法來得好;

2)若沒有加上任何引數,生成壓縮檔案後,會刪除原始檔案;

命令使用:

1) 壓縮乙個檔案:

bzip2 file 這樣將生成file.bz2,刪除原檔案file;

2) 壓縮乙個檔案,並保留原始檔:

bzip2 –k file

3) 提高壓縮率:bzip –9 file

注:壓縮等級可以從1-9,數字越大壓縮效果越好,但要花的時間也越長。

4) 解壓縮:

bzip2 –d file.bz2 或

bunzip2 file.bz2

5) 顯示詳細資訊:

bzip2 –v file

6) 顯示版本資訊:

bzip2 –v

如果用bzip2壓縮的檔案出錯的話,你可以嘗試使用bzip2recover來恢復:

bzip2recover file-bad.bz2

3.compress和uncompress

壓縮包副檔名:「.z」

特點:

1)它是乙個歷史悠久的壓縮程式,在許多unix系統中都可以找到;

2)預設情況下,生成壓縮檔案後,會刪除原始檔案。

命令使用:

1) 壓縮乙個檔案:

compress file

2) 壓縮乙個檔案,並保留原始檔:

compress –c a > a.z

3) 提高壓縮率:compress –b9 file

注:壓縮等級可以從9-16,數字越大壓縮效果越好,但要花的時間也越長。預設值是16。

4) 解壓縮:

compress –d file.z 或

uncompress a.z

5) 顯示詳細資訊:

compress –v file

6) 顯示版本資訊:

compress –v

4.zip和unzip

壓縮包副檔名:「.zip」

特點:

1)它是乙個使用廣泛的壓縮程式,其版本橫跨十多種作業系統與硬體結構平台;

2)預設情況下,生成壓縮檔案後,不會刪除原始檔案。

命令使用:

1) 壓縮乙個檔案:

注意:如果要壓縮的是個資料夾,則要加上-r引數,表示呼叫遞迴壓縮,如:

zip -r temp.zip temp

zip zipfile file (zipfile是壓縮後的

檔名,file要壓縮的檔名)

2) 壓縮乙個檔案,並刪除原始檔:

zip –m file

3) 提高壓縮率:zip –9 file

注:壓縮等級可以從1-9,數字越大壓縮效果越好,但要花的時間也越長。預設值是6。

4) 解壓縮:

zip –d file.zip 或

unzip file.zip

5) 顯示詳細資訊:

zip –v file

6) 顯示版本資訊:

zip –v

在linux中,還提供了乙個叫zipinfo的工具,能夠察看zip壓縮檔案的詳細資訊:

zipinfo file.zip

三、其它壓縮/解壓縮工具

除了這四對壓縮/解壓縮工具外,在linux下還有以下三種壓縮/解壓縮工具:

1.lha

lha是從lharc演變而來的壓縮程式,檔案經它壓縮後,會產生乙個具有「.lzh」的副檔名。使用起來還是比較簡單的,而且它是可以直接將乙個目錄打包的:

1) 壓縮乙個檔案:

lha –a lhzfile file (lhzfile是壓縮後的檔名,file要壓縮的檔名)

2) 解壓縮:

lha –xiw=/tmp lhzfile (其中/tmp是解壓縮後的存放目錄,lhzfile是壓縮檔案名)

3) 壓縮乙個目錄:

lha –a lhzfile directory

2.gzexe

這是乙個十分特殊的壓縮工具,它用來壓縮可執行檔案。當您執行被gzexe壓縮過的可執行檔案時,該檔案會自動解壓後繼續執行,和執行一般的可執行檔案一樣。

當然這一過程會多占用一些系統資源,只有你的可用磁碟空間十分有限時才建議使用。

1) 壓縮

gzexe program

這樣會生成乙個program~,為的是萬一壓縮失敗還能夠恢復,當你確定壓縮後可以使用後,應刪掉它,否則不就白壓縮了嗎?

2) 解壓縮

gzexe –d program

3.unarj

解壓時,很簡單:unarj e arjfile

linux壓縮工具的效能比較

一 linux壓縮工具概述 工具名 壓縮包副檔名 gzip gunzip gz compress uncompress z zip unzip zip bzip2 bunzip2 bz2 lha lzh 接下來,我們通過例項,來測量一下它們的壓縮效率與效能 測試一 測試資料 原始檔是乙個資料庫檔案,...

Linux壓縮工具

gzip,gunzip,zcat compress or expand files gzip option filenames d 解壓縮,相當於gunzip 指定壓縮比 1 9 預設為6,數字越大壓縮比越大,消耗的cpu越多,壓縮後的空間越小 c 壓縮後標準輸出,且保留原始檔 所以要跟 重定向輸出...

Linux壓縮工具使用

1 gzip gz格式的壓縮包 壓縮的的同時將原檔案刪除gzip build.sh 2 bzip2 bz2格式的壓縮包 壓縮的的同時預設將原檔案刪除,可以使用 k引數來保留原檔案。tar 不使用z j引數 該命令只能對檔案或目錄打包 引數 c 建立 壓縮 x 釋放 解壓縮 v 顯示提示資訊 壓縮解壓...