一、Linux压缩工具概述

在Linux系统中,提供了许多压缩工具,虽然方便,但也难免造成一些混乱。笔者通过一段时间的整理,将它们理一理顺,希望能够对大家有所帮助:
首先,我们看一下下面这张“压缩包扩展名与压缩工具对应表”,大家通过这张表,就知道网上下载的压缩包,该用什么软件来解了。
工具名 压缩包扩展名
gzip/gunzip “.gz”
compress/uncompress “.Z”
zip/unzip “.zip”
bzip2/bunzip2 “.bz2”
lha “.lzh”
接下来,我们通过实例,来测量一下它们的压缩效率与性能:

测试一:
测试数据:源文件是一个数据库文件,其大小为5,244,928;
测试结果:
gzip:19,136,2秒
compress:17,769,1秒
zip:19,261,2秒
bzip2:1902,2秒
测试二:
测试数据:源文件是一个/etc目录的tar包,其大小为2,631,680;
测试结果:
gzip:551,736,2秒
compress:877,391,3秒
zip:551,856,3秒
bzip2:478,512,11秒
测试三:
测试数据:源文件是一个avi视频文件,其大小为23,157,760;
测试结果:
gzip:17,151,395,43秒
compress:压缩失败,43秒
zip:17,151,509,42秒
bzip2:16,587,991,2分40秒
通过上面的实验,我认为如果你需要高压缩率,就选择bzip2;否则最佳选择就是gzip,它的性价比较好,而且是纯正的自由软件:gzip就是GNU zip!
在LINUX/UNIX系统下,用这些压缩软件是不能直接对一个目录进行打包,当您需要这样做时,通常先使用tar进行归档,将整个目录打包成为一个tar包,然后用压缩软件来压缩。下面我们以备份/etc目录下的所有文件为例,说明一下:
tar –cvf etc /etc (将在当前目录生成一个etc.tar)
gzip etc.tar (将会把etc.tar压缩成为etc.tar.gz)
关于tar的更多信息,我们将专文说明。
好了,说了这么多,下面我们就一起逐一看一下这些压缩工具的用法。

二、Linux压缩工具概述

1.gzip和gunzip
压缩包扩展名:“.gz”
特点:
1)它是纯正的自由软件,性能不错!
2)若没有加上任何参数,生成压缩文件后,会删除原始文件;
命令使用:
1) 压缩一个文件:
gzip file 这样将生成file.gz,删除原文件file;
2) 压缩一个文件,并保留源文件:
gzip –c a > a.gz
3) 提高压缩率:gzip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长,默认值为6。
4) 解压缩:
gzip –d file.gz 或
gunzip file.gz
5) 显示详细信息:
gzip –v file
6) 显示版本信息:
gzip –V

2.bzip2和bunzip2
压缩包扩展名:“.bz2”
特点:
1)它采用了新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好;
2)若没有加上任何参数,生成压缩文件后,会删除原始文件;
命令使用:
1) 压缩一个文件:
bzip2 file 这样将生成file.bz2,删除原文件file;
2) 压缩一个文件,并保留源文件:
bzip2 –k file
3) 提高压缩率:bzip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长。
4) 解压缩:
bzip2 –d file.bz2 或
bunzip2 file.bz2
5) 显示详细信息:
bzip2 –v file
6) 显示版本信息:
bzip2 –V
相关工具:
如果用bzip2压缩的文件出错的话,你可以尝试使用bzip2recover来恢复:
bzip2recover file-bad.bz2

3.compress和uncompress
压缩包扩展名:“.Z”
特点:
1)它是一个历史悠久的压缩程序,在许多UNIX系统中都可以找到;
2)默认情况下,生成压缩文件后,会删除原始文件。
命令使用:
1) 压缩一个文件:
compress file
2) 压缩一个文件,并保留源文件:
compress –c a > a.Z
3) 提高压缩率:compress –b9 file
注:压缩等级可以从9-16,数字越大压缩效果越好,但要花的时间也越长。预设值是16。
4) 解压缩:
compress –d file.Z 或
uncompress a.Z
5) 显示详细信息:
compress –v file
6) 显示版本信息:
compress –V

4.zip和unzip
压缩包扩展名:“.zip”
特点:
1)它是一个使用广泛的压缩程序,其版本横跨十多种操作系统与硬件结构平台;
2)默认情况下,生成压缩文件后,不会删除原始文件。
命令使用:
1) 压缩一个文件:
zip zipfile file (zipfile是压缩后的文件名,file要压缩的文件名)
2) 压缩一个文件,并删除源文件:
zip –m file
3) 提高压缩率:zip –9 file
注:压缩等级可以从1-9,数字越大压缩效果越好,但要花的时间也越长。预设值是6。
4) 解压缩:
zip –d file.zip 或
unzip file.zip
5) 显示详细信息:
zip –v file
6) 显示版本信息:
zip –V
相关工具:
在Linux中,还提供了一个叫zipinfo的工具,能够察看zip压缩文件的详细信息:
zipinfo file.zip

三、其它压缩/解压缩工具

除了这四对压缩/解压缩工具外,在Linux下还有以下三种压缩/解压缩工具:

1.lha
lha是从lharc演变而来的压缩程序,文件经它压缩后,会产生一个具有“.lzh”的扩展名。使用起来还是比较简单的,而且它是可以直接将一个目录打包的:
1) 压缩一个文件:
lha –a lhzfile file (lhzfile是压缩后的文件名,file要压缩的文件名)
2) 解压缩:
lha –xiw=/tmp lhzfile (其中/tmp是解压缩后的存放目录,lhzfile是压缩文件名)
3) 压缩一个目录:
lha –a lhzfile directory

2.gzexe
这是一个十分特殊的压缩工具,它用来压缩可执行文件。当您执行被gzexe压缩过的可执行文件时,该文件会自动解压后继续执行,和执行一般的可执行文件一样。
当然这一过程会多占用一些系统资源,只有你的可用磁盘空间十分有限时才建议使用。
1) 压缩
gzexe program
这样会生成一个program~,为的是万一压缩失败还能够恢复,当你确定压缩后可以使用后,应删掉它,否则不就白压缩了吗?
2) 解压缩
gzexe –d program

3.unarj
如果你有一些用arj压缩的包的话,你可以使用unarj解开它,不过它只能够解,却无法执行压缩。在Linux没有提供arj压缩工具。
解压时,很简单:unarj e arjfile

Linux下的压缩解压缩工具(转载)相关推荐

  1. 适用于linux的解压工具,Linux下的压缩/解压缩工具

    Linux下的压缩/解压缩工具 发布时间:2006-11-12 00:54:48来源:红联作者:philosophy 一.Linux压缩工具概述 在Linux系统中,提供了许多压缩工具,虽然方便,但也 ...

  2. Linux下的压缩解压缩命令

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  3. Linux下的压缩解压缩命令详解

    1.zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home ...

  4. Linux 下如何压缩/解压缩文件

    Linux 下比较常用的压缩文件 为zip类的压缩文件,下面介绍下如何压缩文件. 使用cd命令切换到要压缩文件的目录 使用  zip  -q  -r  压缩后的文件.zip 文件名    即可压缩. ...

  5. Linux下的压缩解压缩

    Linux 相比于 Windows 有一个好处,就是自带压缩解压缩命令,但是我发现很多刚接触 Linux 系统的新手经常会纠结于如何压缩解压缩,这里,我整理一些常见用法以供大家参考. 常用压缩格式 t ...

  6. linux压缩命令讲解,Linux下的压缩解压缩命令详解

    linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip - ...

  7. linux下检测硬盘,【转载】linux下硬盘监控诊断工具SmartTools

    对于windwos下raid卡具备告警功能,当硬盘故障.raid卡告警时,可以发邮件给管理员.IBM.HP.Dell都支持.但在linux下,就没有找到相关的好工具了,今天到陈沙克的博客上到一篇关于l ...

  8. Linux下,各种解压缩命令集合

    Linux下,各种解压缩命令集合 tar xvfj lichuanhua.tar.bz2 tar xvfz lichuanhua.tar.gz tar xvfz lichuanhua.tgz tar  ...

  9. Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比

    常用的格式有: tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar 只是打包动作,相当于归档处理,不做压缩:解压也一样 ...

最新文章

  1. SLAM从0到1——状态估计之最小二乘问题解法:最速下降法、牛顿法、高斯牛顿法、LM法...
  2. 清除扇区和低格哪个好_C++入门篇(四十五),结点删除与链表的清除
  3. 网站SEO优化中长尾关键词的特征有哪些?
  4. php 客户端上传图片,php上传图片客户端和服务器端实现方法
  5. android fragment 设置透明,Android透明DialogFragment
  6. 简单脚本之显示系统当前的一些信息
  7. linux到windows的ssh,ssh如何使用pxsh从linux到windows
  8. 基于DHT网络的BT磁力链蜘蛛源码
  9. 矩阵理论(三)向量矩阵的求导
  10. 基于PHP+Html+mysql的客户关系管理CRM系统 文档+项目源码及数据库文件
  11. 考研丨7-12月复习安排时间表
  12. java计算机毕业设计科普网站源码+mysql数据库+系统+lw文档+部署
  13. win10安装Sql Server2019教程
  14. laptop外接显示器
  15. 安装python发生的报错
  16. emoji表情符号编码大全
  17. 天啊!中国第一奇人:天天枸杞水,活到256岁!
  18. 初识深度学习(将各方所写融合)
  19. 杰奇是否生成html,杰奇cms章节页面报错功能实现,基本思路
  20. org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /

热门文章

  1. 微信公众号使用H5获取地理位置信息并定位
  2. 刚刚,ChatGPT官宣数学能力再升级,网友:终于精通十以内加减法了
  3. Opencv 基础(三):使用OpenCV裁剪图像
  4. ChatGPT初体验——开发好帮手
  5. 前端如何下载excel表格
  6. OpenCVSharp 分水岭算法
  7. Win10自带相机找不到代码0xA00F4244?这里有九条解决方法
  8. windbg分页机制实验
  9. linux mysql dengl_mysql中类似oracle的over分组实现
  10. 白领十大职业病及对策