Linux壓縮工具的效能比較
Linux壓縮工具的效能比較
一、Linux壓縮工具概述
在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秒
測試三:
測試資料:原始檔是一個avi影片檔案,其大小為23,157,760;
測試結果:
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
如果你有一些用arj壓縮的包的話,你可以使用unarj解開它,不過它只能夠解,卻無法執行壓縮。在Linux沒有提供arj壓縮工具。
解壓時,很簡單:unarj e arjfile
一、Linux壓縮工具概述
在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秒
測試三:
測試資料:原始檔是一個avi影片檔案,其大小為23,157,760;
測試結果:
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
如果你有一些用arj壓縮的包的話,你可以使用unarj解開它,不過它只能夠解,卻無法執行壓縮。在Linux沒有提供arj壓縮工具。
解壓時,很簡單:unarj e arjfile
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1742805/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java不同壓縮演算法的效能比較Java演算法
- 大資料中批次壓縮與獨立壓縮的比較 - Bozho大資料
- 壓縮工具效能測試
- linux 高效壓縮工具之xz的壓縮解壓使用Linux
- AWS Graviton2上資料壓縮演算法效能比較演算法
- android 比較靠譜的圖片壓縮Android
- Linux打包壓縮解壓工具Linux
- 高效能 gzip 壓縮工具 pgzip
- oralce 壓縮表與heap表儲存空間與查詢效能比較
- oracle 壓縮備份與普通備份從空間,時間,CPU效能的比較Oracle
- 效能比較工具runStats_pkg
- linux壓縮解壓縮Linux
- 關於SQL 2008資料庫壓縮後收縮(database shrink)的測試實驗和效能比較SQL資料庫Database
- Easysearch壓縮模式深度比較:ZSTD+source_reuse的優勢分析模式
- linux壓縮和解壓縮命令Linux
- Linux中檔案的壓縮和解壓縮Linux
- linux下的檔案的壓縮和解壓縮Linux
- linux下壓縮解壓縮命令Linux
- linux壓縮和解壓縮命令整理Linux
- Linux壓縮及解壓縮命令Linux
- linux壓縮和解壓縮命令大全Linux
- Linux運維比較實用的工具Linux運維
- PHP的壓縮函式實現:gzencode、gzdeflate和gzcompress比較PHP函式
- Linux下常用壓縮格式的壓縮與解壓方法Linux
- Linux壓縮解壓Linux
- pigz更快的壓縮和解壓工具
- 幾個動態代理Proxy工具效能比較
- MyZip for mac解壓壓縮工具Mac
- Keka for Mac(壓縮解壓工具)Mac
- Keka for Mac壓縮解壓工具Mac
- pdf怎麼壓縮,好用的pdf壓縮工具介紹
- Linux 下最為人熟知的解壓縮工具Linux
- Linux tar分卷壓縮與解壓縮Linux
- Linux tar壓縮和解壓縮等命令Linux
- Linux 常用的壓縮與解壓縮命令詳解Linux
- Linux下的tar壓縮解壓縮命令詳解Linux
- 檔案的壓縮與解壓縮zz--linuxLinux
- 實用的壓縮解壓工具:WinZip for MacMac