其他分享
首页 > 其他分享> > 6.2 gzip:压缩或解压文件

6.2 gzip:压缩或解压文件

作者:互联网

gzip命令

  用于将一个大的文件通过压缩算法(Lempel-Ziv coding(LZ77))变成一个小的文件。gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gzip进行压缩。   -d    解开压缩文件 -v    显示指令执行的过程 -l    列出压缩文件的内容信息   -c    将内容输出到标准输出,不改变原始文件 -r    对目录下的所有文件递归进行压缩操作 -数字<1-9>    指定压缩率,默认为6,值越大压缩率越高 -t    测试,检查压缩文件是否完整

把目录下的每个文件都压缩成单独的.gz文件

[root@cs6 html]# ls
10.html  1.html  2.html  3.html  4.html  5.html  6.html  7.html  8.html  9.html  oldboy
[root@cs6 html]# gzip *.html
[root@cs6 html]# ls
10.html.gz  2.html.gz  4.html.gz  6.html.gz  8.html.gz  oldboy
1.html.gz   3.html.gz  5.html.gz  7.html.gz  9.html.gz
 
不解压显示上一个例子中每个压缩文件的信息。
[root@cs6 html]# gzip -l *.gz
         compressed        uncompressed  ratio uncompressed_name
                 28                   0   0.0% 10.html
                 27                   0   0.0% 1.html
                 27                   0   0.0% 2.html
                 27                   0   0.0% 3.html
                 27                   0   0.0% 4.html
                 27                   0   0.0% 5.html
                 27                   0   0.0% 6.html
                 27                   0   0.0% 7.html
                 27                   0   0.0% 8.html
                 27                   0   0.0% 9.html
[root@cs6 html]# ls
10.html.gz  2.html.gz  4.html.gz  6.html.gz  8.html.gz  oldboy
1.html.gz   3.html.gz  5.html.gz  7.html.gz  9.html.gz

解压文件,并显示解压过程

[root@cs6 html]# gzip -dv *.gz        #<==使用-d参数解压文件,使用-v参数显示解压过程。
10.html.gz:      0.0% -- replaced with 10.html
1.html.gz:      0.0% -- replaced with 1.html
2.html.gz:      0.0% -- replaced with 2.html
3.html.gz:      0.0% -- replaced with 3.html
4.html.gz:      0.0% -- replaced with 4.html
5.html.gz:      0.0% -- replaced with 5.html
6.html.gz:      0.0% -- replaced with 6.html
7.html.gz:      0.0% -- replaced with 7.html
8.html.gz:      0.0% -- replaced with 8.html
9.html.gz:      0.0% -- replaced with 9.html
[root@cs6 html]# ls
10.html  1.html  2.html  3.html  4.html  5.html  6.html  7.html  8.html  9.html  oldboy
[root@cs6 html]#

压缩解压保留源文件

[root@cs6 html]# cp /etc/services .
[root@cs6 html]# ll -h services
-rw-r--r--. 1 root root 626K May 13 00:29 services
[root@cs6 html]# gzip -c services >services.gz    #<==使用-c 选项与输出重定向符号将输出定向到services.gz。
[root@cs6 html]# ll -h services*
-rw-r--r--. 1 root root 626K May 13 00:29 services
-rw-r--r--. 1 root root 125K May 13 00:30 services.gz        #<==使用-d选项解压。
[root@cs6 html]# gzip -dc services.gz >services2
[root@cs6 html]# diff services services2            #<==对比源文件和解压后的文件,没有差别。
[root@cs6 html]# ll -h services*
-rw-r--r--. 1 root root 626K May 13 00:29 services
-rw-r--r--. 1 root root 626K May 13 00:31 services2
-rw-r--r--. 1 root root 125K May 13 00:30 services.gz

 

经验技巧

    虽然上面使用重定向符号解决了保留源文件的问题,但是使用起来还是不太方便,因此这里告诉大家一个好方法:gzip套件包含了许多可以“在原地”处理压缩文件的实用程序。zcat、zgrep、zless、zdiff等实用程序的作用分别与cat、grep、less和diff相同,但是它们操作的是压缩的文件。比如:  
[root@cs6 html]# zcat services.gz |head
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2009-11-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
[root@cs6 html]# zcat services.gz >services  #也可以直接解压出来重定向到文件。
[root@cs6 html]#

 

 

标签:解压,gz,services,html,6.2,gzip,cs6,root,0.0%
来源: https://blog.51cto.com/wenyule/2977606