首页 > 代码库 > Linux命令(28):gzip/gunzip命令-压缩和解压

Linux命令(28):gzip/gunzip命令-压缩和解压

gzip/gunzip命令


功能说明

    对文件进行压缩(gzip)解压(gunzip),压缩文件预设的扩展名为“.gz”,gunzip就是gzip的硬链接,解压可以通过gzip -d命令实现。用法如下:

  gzip [选项] 压缩 (解压缩) 的文档名

常用参数

选项说明
-d对压缩的文件进行解压(相当于gunzip的解压功能)
-c将结果输出的标准输出(相当于保留源文件)
-r递归式压缩指定目录以及子目录下的所有文件
-t检查压缩文件完整性
-v对于每个压缩和解压缩的文档,显示相应的文件名和压缩比
-l显示压缩文件的压缩信息,显示字段为压缩文档大小、未压缩文档大小、压缩比和未压缩文档名称
-num用指定的数字num配置压缩比,“-1”或“-fast”表示最低压缩比,“-9”或“-best”表示最高压缩比,系统默认压缩比为6

示例                    

    解压缩演示

[root@c7 app]# cp /var/log/messages ./            #复制message到当前目录

[root@c7 app]# ll -h                              #查看message的大小是12K

总用量 2.4M

-rw-r--r--. 1 root root 1.2M 10月 28 12:09 Glances-1.7.1.tar.gz

-rw-------. 1 root root  12K 11月 22 14:08 messages

-rw-r--r--. 1 root root 1.2M 10月 11 15:27 nginx-1.2.9.zip

[root@c7 app]# gzip messages                         #压缩message

[root@c7 app]# ll -h                              #压缩后的message大小是1.2K

总用量 2.4M

-rw-r--r--. 1 root root 1.2M 10月 28 12:09 Glances-1.7.1.tar.gz

-rw-------. 1 root root 1.2K 11月 22 14:08 messages.gz

-rw-r--r--. 1 root root 1.2M 10月 11 15:27 nginx-1.2.9.zip

[root@c7 app]# gzip -d messages.gz                  #解压后的message还原

[root@c7 app]# ll -h

总用量 2.4M

-rw-r--r--. 1 root root 1.2M 10月 28 12:09 Glances-1.7.1.tar.gz

-rw-------. 1 root root  12K 11月 22 14:08 messages

-rw-r--r--. 1 root root 1.2M 10月 11 15:27 nginx-1.2.9.zip

说明

    通过上面的操作可以看到message文件执行压缩后从原本的12K到1.2K,效果很明显。gzip命令执行会删除源文件,不管是压缩还是解压。

    使用-c参数,保留源文件

[root@c7 app]# gzip -c messages > messages.gz    #使用-c参数压缩   

[root@c7 app]# ll -h                             #源文件还在  

总用量 2.4M

-rw-r--r--. 1 root root 1.2M 10月 28 12:09 Glances-1.7.1.tar.gz

-rw-------. 1 root root  12K 11月 22 14:08 messages

-rw-r--r--. 1 root root 1.2K 11月 22 14:36 messages.gz

-rw-r--r--. 1 root root 1.2M 10月 11 15:27 nginx-1.2.9.zip

[root@c7 app]# gzip -9 -c messages > messages2.gz  #使用-9最低压缩比,就是最小     

    使用zcat不解压文件,查看内容

[root@c7 app]# zcat messages.gz | less

Nov 20 04:01:01 c7 systemd: Created slice user-0.slice.

Nov 20 04:01:01 c7 systemd: Starting Session 94 of user root.

Nov 20 04:01:01 c7 systemd: Started Session 94 of user root.

Nov 20 05:01:01 c7 systemd: Created slice user-0.slice.

......略


学习自:

高俊峰《循序渐进Linux》

马哥Linux

本文出自 “赵东伟的博客” 博客,请务必保留此出处http://zhaodongwei.blog.51cto.com/4233742/1875410

Linux命令(28):gzip/gunzip命令-压缩和解压