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

Linux下创建与解压zip, tar, tar.gz和tar.bz2文件及该文件压缩对比

2010-08-03 15:21 856 查看
刚在qq
群里面一位仁兄问到文件压缩

的命令,平时工作中大多用解压缩命令,要是遇到压缩就现查(这不是一个好习惯),于是整理下Linux
下创建与解压zip

、tar
tar.gz

tar.bz2

文件及他们
之间压缩率

对比,在自己的脑袋内存空间有限又不经常使用的时候以便于备忘。现整理如
下:


目前Linux
下常见的压缩文件扩展名:


*.Z        compress

程序压缩的文件(最早期使用),

压缩后取代源文件;

*.zip

一个夸平台的文件打包程序,适用于Linux

、windows

和Mac OS

系统;

*.bz2      bzip2

程序压缩的文件;

*.gz       gzip

程序压缩的文件;

*.tar      tar

程序打包的文件,并没有压缩;

*.tar.gz   tar

程序打包的文件,并经过gzip

程序的压缩;

*.tar.bz2  tar

程序打包的文件,并经过bzip2

程序压缩。


Tips




谓扩展名只是大家约定的通用格式

,是为了更方便的能一眼识别出是什么压缩类型,当然你可以打包或压缩为任意格式

的后缀名,只要你愿意。

A

)*.zip
格式

是大家最常见的一种,它具有夸操作系统平台性,可以同时在windows
、Linux
和Mac Os
上使用。


大家可以用zip
格式压缩那些需要共享给windows
用户的文件。压缩与解压.ZIP


式的文件:

[Lee@leedd.Com tmp]$ zip -r test.zip tmp

adding: test/ (stored 0%)

adding: test/data-file (deflated 24%)

adding: test/r (deflated 51%)

下面是如果解压一个zip

档:

[Lee@leedd.Com tmp]$ rm -rf test 

#

为测试解压,先删除当前目录下的tmp

文件

[Lee@leedd.Com tmp]$ unzip  test.zip

Archive:  test.zip

creating: test/

inflating: test/data-file

inflating: test/r

B)

缩与解压*.tar*
、.tar.gz

、*.tar.bz2
格式的文件及对比:


Tar
是在Linux

使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU
以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩,
压缩是由gzip

与bzip2
来实现的。因此把*.tar*

.tar.gz

*.tar.bz2


到一起来举例:

比如我们要把目录/var/tmp


test


打包压缩
到当前目录

[Lee@leedd tmp]$ tar -cvf   test.tar   test                ### 

仅打包,不压缩

[Lee@leedd tmp]$ tar -zcvf  test.tar.gz    test        ### 

打包后以gzip

压缩

[Lee@leedd tmp]$ tar -jcvf  test.tar.bz2   test        ### 

打包后以bzip2

压缩

[Lee@leedd tmp]$ ll 	test.tar* 	                   ### 

对比压缩后文件大小

-rw-r--r-- 1 Lee mock 10240 01-18 17:05 test.tar

-rw-r--r-- 1 Lee mock   357 01-18 17:06 test.tar.bz2

-rw-r--r-- 1 Lee mock   327 01-18 17:05 test.tar.gz

如何解压缩包:

[Lee@leedd tmp]$ tar -xvf   test.tar

[Lee@leedd tmp]$ tar -xvf   test.tar.gz

[Lee@leedd tmp]$ tar  -jxvf  test.tar.bz2

上面测试

中,每次要删除解压后的test
文件后解压打其他目录,因为如果不定义解压后目录路径和名字则默认解压到当前
目录并以把压缩包名称作为文件夹名字。如果要解压到其他目录(如:/var/tmp/find
)则如下:

[Lee@leedd tmp]$ tar  -jxvf  test.tar.bz2  -C  /var/tmp/find 

关于
tar.gz


tar.bz2

压缩率

的问题:


*.tar.gz


压缩时不会占用太多CPU
的,
而且可以得到一个非常理想的压缩率

。也会被简写成tgz



*.tar.bz2


上好的资料说这种压缩格式是压缩率最好的、它比前面的方式要占用更多的CPU
与时间。但是经过上面的试验显示发现test.tar.gz
的大小竟然比test.tar.bz2
的更小(这是否意
味者*.tar.gz
拥有更小
的压缩率? 至少这次实验是这样)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: