一、Linux壓縮工具概述
在Linux系統(tǒng)中,提供了許多壓縮工具,雖然方便,但也難免造成一些混亂。筆者通過一段時(shí)間的整理,將它們理一理順,希望能夠?qū)Υ蠹矣兴鶐椭?
首先,我們看一下下面這張“壓縮包擴(kuò)展名與壓縮工具對(duì)應(yīng)表”,大家通過這張表,就知道網(wǎng)上下載的壓縮包,該用什么軟件來(lái)解了。
工具名 壓縮包擴(kuò)展名
gzip/gunzip “.gz”
compress/uncompress “.Z”
zip/unzip “.zip”
bzip2/bunzip2 “.bz2”
lha “.lzh”
接下來(lái),我們通過實(shí)例,來(lái)測(cè)量一下它們的壓縮效率與性能:
測(cè)試一:
測(cè)試數(shù)據(jù):源文件是一個(gè)數(shù)據(jù)庫(kù)文件,其大小為5,244,928;
測(cè)試結(jié)果:
gzip:19,136,2秒
compress:17,769,1秒
zip:19,261,2秒
bzip2:1902,2秒
測(cè)試二:
測(cè)試數(shù)據(jù):源文件是一個(gè)/etc目錄的tar包,其大小為2,631,680;
測(cè)試結(jié)果:
gzip:551,736,2秒
compress:877,391,3秒
zip:551,856,3秒
bzip2:478,512,11秒
測(cè)試三:
測(cè)試數(shù)據(jù):源文件是一個(gè)avi視頻文件,其大小為23,157,760;
測(cè)試結(jié)果:
gzip:17,151,395,43秒
compress:壓縮失敗,43秒
zip:17,151,509,42秒
bzip2:16,587,991,2分40秒
通過上面的實(shí)驗(yàn),我認(rèn)為如果你需要高壓縮率,就選擇bzip2;否則最佳選擇就是gzip,它的性價(jià)比較好,而且是純正的自由軟件:gzip就是GNU zip!
在LINUX/UNIX系統(tǒng)下,用這些壓縮軟件是不能直接對(duì)一個(gè)目錄進(jìn)行打包,當(dāng)您需要這樣做時(shí),通常先使用tar進(jìn)行歸檔,將整個(gè)目錄打包成為一個(gè)tar包,然后用壓縮軟件來(lái)壓縮。下面我們以備份/etc目錄下的所有文件為例,說明一下:
tar –cvf etc /etc (將在當(dāng)前目錄生成一個(gè)etc.tar)
gzip etc.tar (將會(huì)把etc.tar壓縮成為etc.tar.gz)
關(guān)于tar的更多信息,我們將專文說明。
好了,說了這么多,下面我們就一起逐一看一下這些壓縮工具的用法。
二、Linux壓縮工具概述
1.gzip和gunzip
壓縮包擴(kuò)展名:“.gz”
特點(diǎn):
1)它是純正的自由軟件,性能不錯(cuò)!
2)若沒有加上任何參數(shù),生成壓縮文件后,會(huì)刪除原始文件;
命令使用:
1) 壓縮一個(gè)文件:
gzip file 這樣將生成file.gz,刪除原文件file;
2) 壓縮一個(gè)文件,并保留源文件:
gzip –c a > a.gz
3) 提高壓縮率:gzip –9 file
注:壓縮等級(jí)可以從1-9,數(shù)字越大壓縮效果越好,但要花的時(shí)間也越長(zhǎng),默認(rèn)值為6。
4) 解壓縮:
gzip –d file.gz 或
gunzip file.gz
5) 顯示詳細(xì)信息:
gzip –v file
6) 顯示版本信息:
gzip –V
2.bzip2和bunzip2
壓縮包擴(kuò)展名:“.bz2”
特點(diǎn):
1)它采用了新的壓縮演算法,壓縮效果比傳統(tǒng)的LZ77/LZ78壓縮演算法來(lái)得好;
2)若沒有加上任何參數(shù),生成壓縮文件后,會(huì)刪除原始文件;
命令使用:
1) 壓縮一個(gè)文件:
bzip2 file 這樣將生成file.bz2,刪除原文件file;
2) 壓縮一個(gè)文件,并保留源文件:
bzip2 –k file
3) 提高壓縮率:bzip –9 file
注:壓縮等級(jí)可以從1-9,數(shù)字越大壓縮效果越好,但要花的時(shí)間也越長(zhǎng)。
4) 解壓縮:
bzip2 –d file.bz2 或
bunzip2 file.bz2
5) 顯示詳細(xì)信息:
bzip2 –v file
6) 顯示版本信息:
bzip2 –V
相關(guān)工具:
如果用bzip2壓縮的文件出錯(cuò)的話,你可以嘗試使用bzip2recover來(lái)恢復(fù):
bzip2recover file-bad.bz2
3.compress和uncompress
壓縮包擴(kuò)展名:“.Z”
特點(diǎn):
1)它是一個(gè)歷史悠久的壓縮程序,在許多UNIX系統(tǒng)中都可以找到;
2)默認(rèn)情況下,生成壓縮文件后,會(huì)刪除原始文件。
命令使用:
1) 壓縮一個(gè)文件:
compress file
2) 壓縮一個(gè)文件,并保留源文件:
compress –c a > a.Z
3) 提高壓縮率:compress –b9 file
注:壓縮等級(jí)可以從9-16,數(shù)字越大壓縮效果越好,但要花的時(shí)間也越長(zhǎng)。預(yù)設(shè)值是16。
4) 解壓縮:
compress –d file.Z 或
uncompress a.Z
5) 顯示詳細(xì)信息:
compress –v file
6) 顯示版本信息:
compress –V
4.zip和unzip
壓縮包擴(kuò)展名:“.zip”
特點(diǎn):
1)它是一個(gè)使用廣泛的壓縮程序,其版本橫跨十多種操作系統(tǒng)與硬件結(jié)構(gòu)平臺(tái);
2)默認(rèn)情況下,生成壓縮文件后,不會(huì)刪除原始文件。
命令使用:
1) 壓縮一個(gè)文件:
注意:如果要壓縮的是個(gè)文件夾,則要加上-r參數(shù),表示調(diào)用遞歸壓縮,如:
zip -r temp.zip temp
zip zipfile file (zipfile是壓縮后的文件名,file要壓縮的文件名)
2) 壓縮一個(gè)文件,并刪除源文件:
zip –m file
3) 提高壓縮率:zip –9 file
注:壓縮等級(jí)可以從1-9,數(shù)字越大壓縮效果越好,但要花的時(shí)間也越長(zhǎng)。預(yù)設(shè)值是6。
4) 解壓縮:
zip –d file.zip 或
unzip file.zip
5) 顯示詳細(xì)信息:
zip –v file
6) 顯示版本信息:
zip –V
相關(guān)工具:
在Linux中,還提供了一個(gè)叫zipinfo的工具,能夠察看zip壓縮文件的詳細(xì)信息:
zipinfo file.zip
三、其它壓縮/解壓縮工具
除了這四對(duì)壓縮/解壓縮工具外,在Linux下還有以下三種壓縮/解壓縮工具:
1.lha
lha是從lharc演變而來(lái)的壓縮程序,文件經(jīng)它壓縮后,會(huì)產(chǎn)生一個(gè)具有“.lzh”的擴(kuò)展名。使用起來(lái)還是比較簡(jiǎn)單的,而且它是可以直接將一個(gè)目錄打包的:
1) 壓縮一個(gè)文件:
lha –a lhzfile file (lhzfile是壓縮后的文件名,file要壓縮的文件名)
2) 解壓縮:
lha –xiw=/tmp lhzfile (其中/tmp是解壓縮后的存放目錄,lhzfile是壓縮文件名)
3) 壓縮一個(gè)目錄:
lha –a lhzfile directory
2.gzexe
這是一個(gè)十分特殊的壓縮工具,它用來(lái)壓縮可執(zhí)行文件。當(dāng)您執(zhí)行被gzexe壓縮過的可執(zhí)行文件時(shí),該文件會(huì)自動(dòng)解壓后繼續(xù)執(zhí)行,和執(zhí)行一般的可執(zhí)行文件一樣。
當(dāng)然這一過程會(huì)多占用一些系統(tǒng)資源,只有你的可用磁盤空間十分有限時(shí)才建議使用。
1) 壓縮
gzexe program
這樣會(huì)生成一個(gè)program~,為的是萬(wàn)一壓縮失敗還能夠恢復(fù),當(dāng)你確定壓縮后可以使用后,應(yīng)刪掉它,否則不就白壓縮了嗎?
2) 解壓縮
gzexe –d program
3.unarj
如果你有一些用arj壓縮的包的話,你可以使用unarj解開它,不過它只能夠解,卻無(wú)法執(zhí)行壓縮。在Linux沒有提供arj壓縮工具。
解壓時(shí),很簡(jiǎn)單:unarj e arjfile
posted on 2010-07-13 11:28
xzc 閱讀(540)
評(píng)論(0) 編輯 收藏 所屬分類:
linux/unix