刚 在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. div元素呈圆环排列

    <style> .path { width: 300px; height: 300px; padding: 20px; border-radius: 50%; background: rg ...

  2. [PCL]4 PCL中图像匹配的几个类图

    IterativeClosestPoint () { reg_name_ = "IterativeClosestPoint"; ransac_iterations_ = ; tra ...

  3. python之map、filter、reduce、lambda函数

    map map函数根据提供的函数对指定的序列做映射,定义:map(function, sequence[,sequence,...])--->list 例1 >>> map(l ...

  4. Java基础之创建窗口——使用BoxLayout管理器(TryBoxLayout4)

    控制台程序. javax.swing.BoxLayout类定义的布局管理器在单行或单列中布局组件.创建BoxLayout对象时,需要指定是在行还是列中布局组件. 对于行,组件是从左到右地添加:对于列, ...

  5. JDK里的设计模式

    一.Creational patterns 创建模式 Abstract factory (recognizeable by creational methods returning the facto ...

  6. set和map和pair 转自ACdreamers

    set与map容器         分类:             C/C++              2013-08-25 19:21     560人阅读     评论(0)     收藏    ...

  7. zoj The 12th Zhejiang Provincial Collegiate Programming Contest Team Formation

    http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5494 The 12th Zhejiang Provincial ...

  8. zjuoj 3609 Modular Inverse

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3609 Modular Inverse Time Limit: 2 Seco ...

  9. Java基础(9):Java生成随机数一定范围内的数的一个典型例子

    题目:编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组 note: 通过 (int)(Math.random() * 100) 生成 ...

  10. Spring之我见

    Spring 是什么(1) •Spring 是一个开源框架. •Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. • ...