Linux 下 zip、tar、tar.gz、tar.bz2

压缩、解压缩是日常工作中常用的两个操作,对于 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 版本的文件夹分别用以上几种格式压缩后的文件大小分别为:

[root@lichao 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

1 Comment

  • zwwooooo zwwooooo over 4 years ago

    这是你自己写的博客系统吧???试试评论。

Leave a Comment