gzip 说明:gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gzip进行压缩。 参数选项: -d 解开压缩文件。 -v 显示指令执行的过程。 -l 列出压缩文件的内容信息。 -c 将内容输出到标准输出,不改变原始文件。 -r 对目录下的所有文件递归进行压缩操作。 -数字<1-9> 指定压缩率,默认为6,值越大压缩率越高。 -t 测试,检测压缩文件是否完整。 把目录下的每个文件都压缩成单独的 .gz 文件。 [root@testdb ~]# touch a_{1..9}.log [root@testdb ~]# ls a_1.log a_2.log a_3.log a_4.log a_5.log a_6.log a_7.log a_8.log a_9.log [root@testdb ~]# gzip *.log [root@testdb ~]# ls a_1.log.gz a_2.log.gz a_3.log.gz a_4.log.gz a_5.log.gz a_6.log.gz a_7.log.gz a_8.log.gz a_9.log.gz 不解压显示压缩文件的信息 [root@testdb ~]# ll a_1.log.gz -rw-r--r-- 1 root root 28 Dec 17 19:27 a_1.log.gz [root@testdb ~]# gzip -l a_1.log.gz compressed uncompressed ratio uncompressed_name 28 0 0.0% a_1.log 解压文件,并显示解压过程 此方法解压后,gz文件将会不存在。 [root@testdb ~]# ll a_1.log.gz -rw-r--r-- 1 root root 28 Dec 17 19:27 a_1.log.gz [root@testdb ~]# gzip -dv a_1.log.gz a_1.log.gz: 0.0% -- replaced with a_1.log [root@testdb ~]# ll a_1.log -rw-r--r-- 1 root root 0 Dec 17 19:27 a_1.log [root@testdb ~]# ll a_1.log.gz ls: cannot access a_1.log.gz: No such file or directory 压缩解压后保留源文件 [root@testdb ~]# touch a.log [root@testdb ~]# gzip -c a.log > a.log.gz [root@testdb ~]# ll a.log* -rw-r--r-- 1 root root 0 Dec 17 19:40 a.log -rw-r--r-- 1 root root 26 Dec 17 19:40 a.log.gz [root@testdb ~]# gzip -dc a.log.gz > b.log [root@testdb ~]# ls -l a.log* b.log* -rw-r--r-- 1 root root 0 Dec 17 19:40 a.log -rw-r--r-- 1 root root 26 Dec 17 19:40 a.log.gz -rw-r--r-- 1 root root 0 Dec 17 19:41 b.log 经验技巧: 虽然gzip 使用重定向符号解决了保留源文件的问题,但是使用起来还是不太方便。gizip套件包含了许多可以"在原地"处理压缩文件的实用程序。 可以使用zcat、zgrep、zless、zdiff 等实用程序的作用分别于cat、grep、less、diff相同,但是他们操作的是压缩文件。