您的位置:首页 > 运维架构 > Linux

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

2016-05-07 14:59 543 查看
本文章来给大家介绍关于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 多一些。

原文地址:http://www.111cn.net/sys/linux/50752.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: