gzip

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、zgrepzlesszdiff 等实用程序的作用分别于cat、grepless、diff相同,但是他们操作的是压缩文件。



原文地址:https://www.cnblogs.com/l10n/p/9416721.html