gzip是GNU zip的缩写,gzip是一个GNU自由软件的文件压缩程序。gzip的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1。gzip的基础是DEFLATE,DEFLATE是LZ77与哈夫曼编码的一个组合体。DEFLATE最初是作为LZW以及其他受专利保护的数据压缩算法的替代版本而设计的,当时那些专利限制了压缩以及其他一些流行的归档工具的应用。该命令语法如下。
gzip [-cdflNnqtvr] [-压缩比] [--bast|--fast] [-S <压缩字尾字符串>] 要压缩的文件
常用选项:
l 要压缩的文件:需要压缩的文件。
l -c:把压缩后的文件输出到标准输出设备,不去改变原始文件。默认情况下,gzip会将文件直接压缩后加上“.gz”扩展名,而不保留原来的文件。可以使用“>”等特殊字符将压缩后的结果导向一个新的文件。
l -d:解开压缩文件。
l -f:强行压缩文件,不管文件名或硬链接是否存在,以及该文件是否是符号链接。如不使用该选项,则压缩后加上“.gz”扩展名的文件若存在,gzip会一一询问用户,确认是否要覆盖已有的文件。至于硬链接和符号链接,gzip默认是不处理的,加上该选项后,gzip命令会读取该链接所指向的文件,并将其压缩。
l -l:显示压缩文件的相关信息。
l -N:压缩文件时,存储原来文件名称及时间,这也是gzip默认的。
l -n:压缩文件时,不存储原来文件名称及时间,这也是gzip默认的。
l -q:不显示警告信息。
l -t:测试压缩文件是否正确。
l -r:递归处理,将指定目录下所有文件及子目录一并处理。
l -v:显示命令执行过程。
l -压缩比:压缩比是一个介于1~9的数值,9表示压缩比最大;1表示压缩速度最快。默认值为6。
l --bast:相当于“-9”。
l --fast:相当于“-1”。
l --S <压缩字尾字符串>:更改压缩后文件的扩展名,gzip默认的扩展名是“.gz”,可以通过该选项指定其他扩展名。
gzip是一个广泛使用的压缩程序,文件被压缩后,默认其文件名后会加上“.gz”,源文件将被删除。下面看几个gzip命令的例子。
l 使用gzip压缩当前目录下的install.log文件。
[root@srv ~]# gzip install.log
l 被gzip压缩后,原文件就没有了,只保留了压缩文件。
[root@srv ~]# ll i*
total 28
-rw-r--r-- 1 root root 7810 Jan 29 19:31 install.log.gz
l 使用gzip压缩当前目录下的install.log.syslog文件,使用“-c”和“>”可以给压缩文件一个新的名称,而保留回来的文件。
[root@srv ~]# gzip -c install.log.syslog > install.log.syslog.gz
[root@srv~]# ll i*
total 32
-rw-r--r-- 1 root root 3738 Jan 29 19:30 install.log.syslog
-rw-r--r-- 1 root root 915 Feb 7 12:05 install.log.syslog.gz
l 使用gzip解压当前目录下的install.log.gz文件。
[root@srv ~]# gzip -d install.log.gz
bzip2是Julian Seward开发的开源数据压缩算法及程序。 Julian Seward在 1996 年 7 月第一次公开发布了bzip2 0.15版,在随后几年中这个压缩工具稳定性得到改善并且日渐流行,Julian Seward在2000年晚些时候发布了1.0版。bzip2比传统的gzip或ZIP的压缩效率更高,但是bzip2的压缩速度较慢。与RAR或ZIP等其他不同的是,bzip2只是一个数据压缩工具,而不是归档工具,在这一点上bzip2与gzip类似。程序本身不包含用于多个文件、加密或者文档切分的工具。该命令语法如下。
bzip2 [-cdfktvz] [-压缩比] 要压缩的文件
常用选项:
l 要压缩的文件:需要压缩的文件。
l -c:将压缩与解压的结果送到标准输出设备。
l -d:执行解压操作。
l -f:bzip2在压缩或解压时,如果输出文件与现有文件同名则不会覆盖,使用该选项后则会覆盖。
l -k:bzip2在压缩或解压后,会删除源文件,如果使用该选项则会保留源文件。
l -t:测试“.bz2”的完整性。
l -v:显示执行过程。
l -z:强制执行压缩。
l -压缩比:压缩比是一个介于1~9的数值,9表示压缩比最大;1表示压缩速度最快。
bzip2在压缩时如果不加任何选项,在压缩完成后会产生“.bz2”的压缩文件并删除源文件。下面看几个bzip2命令的例子。
l 使用bzip2压缩当前目录下install.log文件。
[root@srv ~]# bzip2 install.log
l 使用bzip2解压当前目录下install.log.bz2文件。
[root@srv ~]# bzip2 -d install.log.bz2