首页 > Linux, 学习笔记 > Linux下创建与解压tar, tar.gz和tar.bz2文件及压缩率对比

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

2010年1月18日 Lee 发表评论 阅读评论
分享到

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

刚在qq群里面一位仁兄问到文件压缩的命令,平时工作中大多用解压缩命令,要是遇到压缩就现查(这不是一个好习惯),于是整理下Linux下创建与解压ziptartar.gztar.bz2文件及他们之间压缩率对比,在自己的脑袋内存空间有限又不经常使用的时候以便于备忘。现整理如下:

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

 *.Z        compress程序压缩的文件(最早期使用),压缩后取代源文件;
 *.zip      一个夸平台的文件打包程序,适用于LinuxwindowsMac OS系统;
 *.bz2      bzip2程序压缩的文件;
 *.gz       gzip程序压缩的文件;
 *.tar      tar程序打包的文件,并没有压缩;
 *.tar.gz   tar程序打包的文件,并经过gzip程序的压缩;
 *.tar.bz2  tar程序打包的文件,并经过bzip2程序压缩。

Tips所谓扩展名只是大家约定的通用格式,是为了更方便的能一眼识别出是什么压缩类型,当然你可以打包或压缩为任意格式的后缀名,只要你愿意。

A*.zip格式是大家最常见的一种,它具有夸操作系统平台性,可以同时在windowsLinuxMac 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以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩,压缩是由gzipbzip2来实现的。因此把*.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.gztar.bz2压缩率的问题:

*.tar.gz 在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。也会被简写成tgz

*.tar.bz2网上好的资料说这种压缩格式是压缩率最好的、它比前面的方式要占用更多的CPU与时间。但是经过上面的试验显示发现test.tar.gz的大小竟然比test.tar.bz2的更小(这是否意味者*.tar.gz拥有更小的压缩率? 至少这次实验是这样)

 如下附上这次测验的文件包(点击文件名下载):
Test文件夹中的2个文件: data-file  和  r
test.tar     test.tar.gz        test.tar.bz2 
您可能还喜欢:

中文关键字:

本文出处:沉思小屋 (http://Leedd.com)
本文标题:Linux下创建与解压tar, tar.gz和tar.bz2文件及压缩率对比
本文地址:http://leedd.com/2010/01/linux-tar-tar-gz-tar-bz2/

  1. 2010年1月18日11:33 | #1

    一般是用tar 打包成tar.gz 格式

  2. 2010年1月18日13:34 | #2

    @久酷
    恩 这样写主要是为了区分tar 和gzip的 ,tar仅仅是用来打包, 而打成tar.gz则是打包再调用gzip进行压缩

  3. 2010年1月30日03:51 | #3

    我一般打包成tar.gz就ok了,哈哈

  4. 2010年1月30日05:30 | #4

    金属加工机械(http://www.cn-jixie.org)
    不错啊,博客挺好,来参观一下,学习了~~~~~呵呵~~

  5. imbin
    2010年3月16日03:35 | #5

    收下了

  6. 2010年5月28日14:50 | #6

    压缩率应该不是固定的,应该与被压缩的文件有关,我曾经就有debug产生的core文件每个20多M,一共有10个,大约200+M,用bzip2压缩以后居然只有225KB,但是压缩了几十个文本文件时压缩率远远没有这么大,千真万确,很难置信吧
    keykey´s last blog ..UNIX常用的IP表示掩码方式转换为字符串的程序实现方法 My ComLuv Profile

    Lee 回复:

    @keykey,
    这个确实有点奇怪 上周五压缩个35m的文件 压缩后竟然大于35m~~~

  1. 2010年4月3日20:53 | #1