刚 在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/rB) 压缩与解压*.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拥有更小的压缩率? 至少这次实验是这样)
 如下附上这次测验的文件包(点击文件名下载):
Test文件夹中的2个文件: data-file  和  r
test.tar     test.tar.gz        test.tar.bz2
本文来自:沉思小屋http://Leedd.Com
原文链接:http://leedd.com/2010/01/linux-tar-tar-gz-tar-bz2/

Linux下创建与解压tar, tar.gz和tar.bz2文件及压缩率对比 | 沉思小屋的更多相关文章

  1. linux下压缩与解压(zip、unzip、tar)详解

    linux下压缩与解压(zip.unzip.tar)详解 2012-05-09 13:58:39| 分类: linux | 标签:linux zip unzip tar linux命令详解 |举报|字 ...

  2. zz 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件

    January 2nd, 2009 at 10:31 pm Linux 解压, Linux, tar, tar.bz2, tar.gz, tgz, zip, 压缩, 打包, 文档 这么多年来,数据压缩 ...

  3. 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件

    这么多年来,数据压缩对我们来说是非常有用的.无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间.某些压缩格式有时允许我们以60%的比率(甚至更 ...

  4. 【Linux命令】linux一次性解压多个.gz或者.tar.gz文件

    原文:linux一次性解压多个.gz或者.tar.gz文件 解压多个压缩包 对于解压多个.gz文件的,用此命令: for gz in *.gz; do gunzip $gz; done 对于解压多个. ...

  5. Linux下压缩与解压

    转自:http://www.mike.org.cn/blog/index.php?load=read&id=218###pp=0 [在解压或压缩的时候,一般还使用-v选项来现实正在处理的文件信 ...

  6. 浅谈Linux下各种压缩 解压命令和压缩比率对比

    Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...

  7. Linux学习之CentOS(十九)------linux 下压缩与解压之 tar、gzip、bzip2、zip、rar

    将文件存储到归档文件中或者从归档文件中获取原始文件,以及为文件创建归档文件 tar [option] [modifiers] [file-list] 参数 file-list是tar进行归档和提取的文 ...

  8. linux一次性解压多个.gz或者.tar.gz文件

    对于解压多个.gz文件的,用此命令: for gz in *.gz; do gunzip $gz; done 对于解压多个.tar.gz文件的,用下面命令: for tar in *.tar.gz; ...

  9. linux下的压缩解压命令

    .gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName .tar.gz 和 .tgz解压:tar zxvf FileName. ...

随机推荐

  1. [PCL]5 ICP算法进行点云匹配

    上一篇:http://www.cnblogs.com/yhlx125/p/4924283.html截图了一些ICP算法进行点云匹配的类图. 但是将对应点剔除这块和ICP算法的关系还是没有理解. RAN ...

  2. [NetTopologySuite](2)任意多边形求交

    任意多边形求交: private void btnPolygon_Click(object sender, EventArgs e) { , , , , , , , , , , , , , }; , ...

  3. iOS 蓝牙开发之传输图片

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  4. CentOS安装NodeJS v0.10.25 + Express

    安装必需组件 yum -y install gcc make gcc-c++ openssl-devel wget cd ~wget http://nodejs.org/dist/v0.10.25/n ...

  5. 统计哪些程序占用了swap

    命令如下 : for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END ...

  6. tomcat 6.0.44 “has failed to stop it. This is very likely to create a memory leak” 问题调查

    1. 问题起因 我们项目中缓存模块某个实现采用了ehcache(2.4.3),当项目部署到tomcat中后,对tomcat做停止服务操作(点击eclipse的console红色的停止按钮,奇怪的是有小 ...

  7. [转]那些年我还不懂:IList,ICollection,IEnumerable,IEnumerator,IQueryable

    1.首先看一个简单的例子 int[] myArray = { 1, 32, 43, 343 }; IEnumerator myie = myArray.GetEnumerator(); myie.Re ...

  8. 理解JDBC和JNDI

    下面的英文是我找过来的,因为是英文所以不敢翻译出来误导别人,但是它描述的确实恰到好处,比所谓网上的JNDI和JDBC云云的解释要精辟很多,如果遇到不认识的单词,用有道吧~~:) The Java Na ...

  9. 一步一步学习Swift之(一):关于swift与开发环境配置

    一.什么是Swift? 1.Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用. 2.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制. 3.Sw ...

  10. Summary: Final Keyword

    In this tutorial we will learn the usage of final keyword. final keyword can be used along with vari ...