gzip/gunzip命令
功能说明
对文件进行压缩(gzip)或解压(gunzip),压缩文件预设的扩展名为“.gz”,gunzip就是gzip的硬链接,解压可以通过gzip -d命令实现。用法如下:
gzip [选项] 压缩 (解压缩) 的文档名 |
常用参数
选项 | 说明 |
-d | 对压缩的文件进行解压(相当于gunzip的解压功能) |
-c | 将结果输出的标准输出(相当于保留源文件) |
-r | 递归式压缩指定目录以及子目录下的所有文件 |
-t | 检查压缩文件完整性 |
-v | 对于每个压缩和解压缩的文档,显示相应的文件名和压缩比 |
-l | 显示压缩文件的压缩信息,显示字段为压缩文档大小、未压缩文档大小、压缩比和未压缩文档名称 |
-num | 用指定的数字num配置压缩比,“-1”或“-fast”表示最低压缩比,“-9”或“-best”表示最高压缩比,系统默认压缩比为6 |
示例
解压缩演示
[[email protected] app]# cp /var/log/messages ./ #复制message到当前目录 [[email protected] 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 [[email protected] app]# gzip messages #压缩message [[email protected] 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 [[email protected] app]# gzip -d messages.gz #解压后的message还原 [[email protected] 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参数,保留源文件
[[email protected] app]# gzip -c messages > messages.gz #使用-c参数压缩 [[email protected] 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 [[email protected] app]# gzip -9 -c messages > messages2.gz #使用-9最低压缩比,就是最小 |
使用zcat不解压文件,查看内容
[[email protected] 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