一、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.bz23.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 directory2.gzexe ; ; 这是一个十分特殊的压缩工具,它用来压缩可执行文件。当您执行被gzexe压缩过的可执行文件时,该文件会自动解压后继续执行,和执行一般的可执行文件一样。当然这一过程会多占用一些系统资源,只有你的可用磁盘空间十分有限时才建议使用。; ; 1) 压缩; ;;;gzexe program; ; 这样会生成一个program~,为的是万一压缩失败还能够恢复,当你确定压缩后可以使用后,应删掉它,否则不就白压缩了吗?; ; 2) 解压缩; ;;;gzexe ?d program3.unarj ; ; 如果你有一些用arj压缩的包的话,你可以使用unarj解开它,不过它只能够解,却无法执行压缩。在Linux没有提供arj压缩工具。; ; 解压时,很简单:unarj e arjfile
Linux下的压缩/解压缩工具
浏览:9日期:2022-07-26
标签:
Linux系统
上一条:Linux压缩打包命令使用方法下一条:linux gzip 命令详解
相关文章:1. 神舟笔记本怎么进入bios设置u盘启动2. 小米笔记本Pro 2022将于7月4日发布:大师级屏幕3. 英特尔确认W790芯片组 将支持新一代至强工作站处理器4. 曝AMD 锐龙7000系列CPU和X670主板将于9月15日上市5. 360数科宣布正式加入FinOps阵营 finops是什么6. 华硕无畏Pro15 2022锐龙版/无畏Pro14锐龙版轻薄本预售7. 英特尔锐炫A770/A750独显价格与i7-12700K处理器类似8. AMD发布锐龙7000系列台式机处理器:基于“Zen 4”架构9. AMD锐龙700系列国行价格公布:16核心 售价仅5499元10. 微软Surface Studio3曝光 芯片支持2.4Ghz和5Ghz

