Linux下的压缩/解压缩工具

发布时间:2006-11-12 00:54:48来源:红联作者:philosophy

一、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的解压工具,Linux下的压缩/解压缩工具相关推荐

  1. linux+shell+解压命令,Shell命令 文件压缩解压缩之gzip、zip详解

    本篇文章的主要内容讲述的是shell命令中之文件压缩解压缩之gzip.zip,具有一定参考价值,感兴趣的朋友可以了解一下,希望对你有所帮助. 1.gzip:gzip压缩工具 gzip命令的功能说明: ...

  2. Linux下的压缩解压缩工具(转载)

    一.Linux压缩工具概述 在Linux系统中,提供了许多压缩工具,虽然方便,但也难免造成一些混乱.笔者通过一段时间的整理,将它们理一理顺,希望能够对大家有所帮助: 首先,我们看一下下面这张" ...

  3. linux+gunzip解压命令,Linux gunzip命令解析 gunzip解压文件的方法

    我们已经讨论过 Linux 下 gzip 命令的用法.对于初学者来说,gzip 工具主要用于压缩或者展开文件.解压时,在 gzip 命令后添加 -d 选项即可,使用示例如下: gzip -d [com ...

  4. linux+gunzip解压命令,Linux gunzip解压文件命令详解

    gunzip(gnu unzip) 功能说明:解压文件. 语法:gunzip [-acfhlLnNqrtvV][-s ][文件-] 或 gunzip [-acfhlLnNqrtvV][-s ][目录] ...

  5. linux+shell+解压命令,linux shell 压缩解压命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...

  6. linux mint 解压zip,Linux:压缩解压

    Linux mint 15 将Desktop文件打包为Desktop.tar: tar -cvf Desktop.tar ~/Desktop/ -c表示建立一个压缩包(create),-v表示在压缩的 ...

  7. linux+gunzip解压命令,Linux中的Gunzip命令详解

    Gunzip是用于解压缩Gzip文件的命令行工具.在本教程中,我们将解释如何使用该gunzip命令. Gunzip是用于解压缩Gzip文件的命令行工具. Gzip是最流行的压缩算法之一,可减小文件大小 ...

  8. linux系统解压权限,Linux之rar文件解压之路

    导读 相信大家在使用Linux系统时有时候会碰到有关于rar文件的解压缩.网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩. ...

  9. bandzip和360解压_最优秀的压缩/解压缩软件—BandZip

    小伙伴们好鸭~ 今天为大家推荐一款解压缩类软件--BandZip 能够秒杀其他的压缩类软件 1 BandZip简介 BandZip是韩国的一款优秀的软件.支持多国语言,支持多种平台,当然软件也完美支持 ...

最新文章

  1. pandas用read_csv时编码问题解决
  2. php绑定变量,php动态绑定变量的用法
  3. Linux网络编程一步一步学-select详解
  4. 大数据 自学视频资料,纯分享
  5. MIT大牛Gilbert Strang新书:《线性代数与从数据中学习》抢先看
  6. Phaser中的组对象group
  7. Redhat6 网卡设置 IP地址及主机名配置
  8. 什么是CPU虚拟化?打开好还是关闭好?
  9. matlab中gui选择一个文件,matlabgui中定义函数
  10. requests模块下
  11. 26丨案例:手把手带你理解TPS趋势分析*
  12. 教你几种方法最大限度减轻酒精对你身体的伤害
  13. C语言期末复习题(带答案)
  14. Bugku Misc 图穷匕见
  15. 迷你linux系统安装方法,64M内存安装体验迷你版Linux操作系统Tinyme
  16. 齐博x1开发者如何展示某套风格
  17. 仿百度贴吧回帖功能分析及代码示例
  18. iOS开发笔记之九十四——Swift中的可选类型Optional
  19. 五十种语言的“圣诞快乐”(上):分析与实现
  20. Django中间件Middleware

热门文章

  1. R语言抓取暴风魔镜评论数据并绘制各省市购买量热力图
  2. 微信小程序的分销要怎么做?
  3. 【计算机网络】DV算法
  4. 马化腾内部分享:产品经理必修课
  5. Nuxt3 + Naive UI 的SSG项目分享(一)
  6. 案例5:Java大学生创新创业项目管理设计与实现任务书
  7. suparc服务器没信号,SupARC对战平台新手上手教程
  8. 营销互动新玩法——积分商城
  9. react native生成APP报错:You have not accepted the license agreements of the following SDK components:
  10. 索尼的hlg是什么_索尼HLG的使用方法