1. 程式人生 > >tar,tar.gz,zip,tar.bz2壓縮演算法比較,tar.bz2壓縮率最大最耗cpu

tar,tar.gz,zip,tar.bz2壓縮演算法比較,tar.bz2壓縮率最大最耗cpu

壓縮、解壓縮是日常工作中常用的兩個操作,對於 Windows 平臺而言,最常用的格式是 zip 和 rar,國內大多數是用 rar,國外大多數是用 zip。

而對於類 Unix 平臺而言,常用的格式是 tar 和 tar.gz,zip 比較少一些,rar 則幾乎沒有。

ZIP 格式

zip 格式是開放且免費的,所以廣泛使用在 Windows、Linux、MacOS 平臺,要說 zip 有什麼缺點的話,就是它的壓縮率並不是很高,不如 rar及 tar.gz 等格式。

將檔案或資料夾壓縮為一個 zip 文件的命令如下:

zip -r archive_name.zip file_to_compress
zip -r archive_name.zip directory_to_compress/

解壓 zip 文件的命令如下:

unzip archive_name.zip

TAR 格式

嚴格的說,tar 只是一種打包格式,並不對檔案進行壓縮,主要是為了便於檔案的管理,所以打包後的文件大小一般遠遠大於 zip 和 tar.gz,但這種格式也有很明顯的優點,例如打包速度非常快,打包時 CPU 佔用率也很低,因為不需要壓縮嘛。

將檔案或資料夾打包為 tar 文件的命令如下:

tar -cvf archive_name.tar file_to_compress
tar -cvf archive_name.tar directory_to_compress

解包一個 tar 文件的命令如下:

tar -xvf archive_name.tar

TAR.GZ

tar.gz 可以說是對於 tar 的一個補充,它會對檔案進行壓縮,且壓縮率略優於 zip,而對於 CPU 的佔用率卻不怎麼高。Linux 平臺下的大多數開源軟體或原始碼都是採用這種格式。

將檔案或資料夾打包壓縮為 tar.gz 文件的命令如下:

tar -zcvf archive_name.tar.gz file_to_compress
tar -zcvf archive_name.tar.gz directory_to_compress

解壓一個 tar.gz 文件的命令如下:

tar -zxvf archive_name.tar.gz

TAR.BZ2

相比以上幾種格式,tar.gz2 擁有最高的壓縮率,但是壓縮的時候所需要的時間也最長,CPU 佔用率也最高。將檔案或資料夾壓縮為 tar.bz2 的命令如下:

tar -jcvf archive_name.tar.bz2 file_to_compress
tar -jcvf archive_name.tar.bz2 directory_to_compress

解壓一個 tar.bz2 檔案的命令是:

tar -jxvf archive_name.tar.bz2

我將最新版的 WordPress 3.5.1 版本的資料夾分別用以上幾種格式壓縮後的檔案大小分別為:

[[email protected] files]# ls -l
total 27764
drwxr-xr-x 5 root root     4096 Jan 24 20:53 wordpress
-rw-r--r-- 1 root root 13250560 Apr 21 02:23 wordpress.tar
-rw-r--r-- 1 root root  4628845 Apr 21 02:27 wordpress.tar.bz2
-rw-r--r-- 1 root root  5012223 Apr 21 02:18 wordpress.tar.gz
-rw-r--r-- 1 root root  5468888 Apr 21 02:18 wordpress.zip

可以說以上幾種型別的格式各有優缺點,你需要在壓縮率、壓縮和解壓耗時及 CPU 佔用率方面找到一個平衡點。我在此之前一直使用 zip 格式,因為它看起來命令簡單容易記住,但是從今往後起可能會用 tar.gz 多一些。

Posted on 2013-04-21