gzip是应用最广泛的压缩命令了! gzip可以解开compress, zip与gzip等软件的压缩文件。 gzip压缩后的文件后缀名为*.gz!
gzip常用的命令格式如下:

            [peter@study ~]$ gzip [-cdtv#] filename
            #读取gzip压缩后的文本文件
            [peter@study ~]$ zcat/zmore/zless/zgrep filename.gz
            选项与参数:
            -c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;
            -d :将文件解压缩,类似gunzip命令;
            -t :检验压缩文件的一致性,查看文件有无错误;
            -v :显示原文件与压缩文件的压缩比等信息;
            -# :#代表数字,表示压缩等级,-1最快,但是压缩比最差、-9最慢,但是压缩比最好!默认为-6
          
将/etc/services文件复制到/tmp目录下, 然后用gzip压缩:
            [peter@study ~]$ cd /tmp
            [peter@study tmp]$ cp /etc/services .
            [peter@study tmp]$ gzip -v services
            services:	 61.4% -- replaced with services.gz
          
注意gzip默认用压缩后的.gz文件替换掉原文件。
.gz文件可以被windows下的WinRAR/7zip软件解压缩!
通过比较压缩前后文件的大小,可以看出压缩后的文件大小明显小了很多:
            [peter@study tmp]$ ls -l /etc/services /tmp/services.gz
            -rw-r--r-- 1 root  root  19183 Dec 26  2016 /etc/services
            -rw-r--r-- 1 peter peter  7441 Feb  9 21:47 /tmp/services.gz
          
由于services本身是文本文件,可以使用zcat、zmore、zless读取gzip压缩后的压缩文件:
            [peter@study tmp]$ zcat services.gz
          
屏幕上会显示servcies.gz解压缩之后的源文件内容!
将刚才压缩后的文件解压缩:
            [peter@study tmp]$ gzip -d services.gz
          
            [peter@study tmp]$ gunzip services.gz
          
gzip -d或者gunzip将压缩文件解压缩,并删除掉原来的压缩文件。
用最佳的压缩比压缩重新压缩services文件,并保留原文件:
            [peter@study tmp]$ gzip -9 -c services > services.gz
          
gzip提供1~9的压缩等级,一般使用默认的6就可以了!可以不加-9选项。
-c选项将原本要转成压缩文件的数据内容输出到屏幕, 可以通过重定向符号>将数据重定向输出到文件,这样就可以建立压缩文件。 文件名可以自己定义,尽量遵循gzip的压缩文件名要求!
针对.gz压缩文件,除了zcat、zmore、zless,还有一个和grep功能对应的zgrep命令。 例如从压缩文件services.gz中,找出含有http关键词的行?
            [peter@study tmp]$ zgrep -n 'http' services.gz
            7:# Updated from http://www.iana.org/assignments/port-numbers and other
            8:# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
            53:http		80/tcp		www		# WorldWideWeb HTTP
            138:https		443/tcp				# http protocol over TLS/SSL
            419:http-alt	8080/tcp	webcache	# WWW caching service
            420:http-alt	8080/udp
          
cat、more、less等命令可以使用不同的方式来读取纯文本文件, zcat、zmore、zless则分别对应cat、more、less,可以读取纯文本文件被压缩后的压缩文件! zgrep命令则对应grep命令,可以提取压缩文件中的关键字所在的行,相当于将压缩文件解压缩后使用grep命令。 gzip命令的目的就是用来取代compress命令,所以上面的zcat、zmore、zless和zgrep命令同样也可以读取compress压缩文件。
可以使用znew命令将老式的compress压缩文件转换为gzip格式压缩文件。

initroot编辑整理,转载请注明www.initroot.com