linux下的檔案壓縮方式比較
本文主要討論linux下常見的各種檔案解壓縮方式,同時比較各類壓縮方式的壓縮率和壓縮時間。
一、我們來說說常見的壓縮檔案格式:
.tar tar 程式打包的資料,並沒有壓縮過;
.gz gzip 程式壓縮的檔案;
.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
.bz2 bzip2 程式壓縮的檔案;
.tar.bz2 tar 程式打包的檔案,其中並且經過 bzip2 的壓縮
.Z unix 檔案壓縮
.zip zip 程式壓縮打包的檔案;
.rar rar 程式壓縮打包的檔案;
.xz xz 程式壓縮的檔案;
.tar.xz tar 程式打包的檔案,其中並且經過 xz 的壓縮
.7z 7zip 程式壓縮打包的檔案。
二、常見解壓縮命令:
1、.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar FileName
2、.gz
解壓:gunzip FileName.gz
壓縮:gzip FileName(注:gzip 不能壓縮目錄只能壓縮檔案)
3、.tar.gz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz FileName
4、.bz2
解壓:bzip2 -d FileName.bz2
壓縮:bzip2 -z FileName.tar.bz2
5、.Z
解壓:uncompress FileName.Z
壓縮:compress FileName.Z
6、.tgz
解壓:tar zxvf FileName.tar.tgz
壓縮:tar zcvf FileName.tar.tgz FileName
7、.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip FileName
8、.rar
解壓:rar e FileName.rar
壓縮:rar a FileName.rar
9、tar.xz
解壓: tar xvjf FileName.tar.xz
壓縮: tar cvf FileName.tar FileName; xz -zFileName.tar
10、7z
解壓: 7z x FileName.7z
壓縮: 7z a FileName.7z FileName
三、壓縮率和壓縮時間比較:
[email protected]:~$ du -s FileName/
6360000 FileName/
[email protected]:~$ time tar zcf FileName.tar.gz FileName
real 5m20.915s
user 5m26.926s
sys 0m8.307s
[email protected]:~$ time tar zcf FileName.tar.tgz FileName
real 5m21.044s
user 5m27.203s
sys 0m8.101s
[email protected]:~$ time tar -jcf FileName.tar.bz2 FileName
real 12m12.725s
user 12m13.087s
sys 0m9.891s
[email protected]:~$ time zip -r FileName.zip FileName
real 6m44.007s
user 6m33.764s
sys 0m8.367s
[email protected]:~$ time rar a FileName.rar
real 4m41.960s
user 20m7.899s
sys 1m13.742s
[email protected]:~$ time 7z a FileName.7z FileName
real 2m16.730s
user 55m33.900s
sys 0m19.131s
[email protected]:~$ du -sh FileName*
6.1G FileName
1.6G FileName.7z
2.4G FileName.rar
5.9G FileName.tar
1.9G FileName.tar.bz2
2.2G FileName.tar.gz
2.2G FileName.tar.tgz
2.8G FileName.zip
從以上資料可以明顯的看出,壓縮率: 7z > bz2 > gz > rar > zip,壓縮時間: 7z < rar < gz < zip < bz2,綜合來看,7z表現最好,但linux下使用的不是太多,而bz2雖然壓縮率高但時間長,gz屬於折中的考慮。