gzip
一个在Linux下比较常用的的压缩指令,可以将一个文件压缩成一个以 .gz 结尾的压缩文件
准备工作
[root@localhost etc]# cp /etc/man.config /tmp [root@localhost etc]# cd /tmp [root@localhost tmp]# ll total 12 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 4940 Aug 17 12:37 man.config
1.压缩 man.config 文件
[root@localhost tmp]# gzip man.config [root@localhost tmp]# ll total 8 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 2184 Aug 17 12:37 man.config.gz
可以看到 源文件 man.config 没有了,取而代之的是一个以 .gz 结尾的压缩文件.与源文件对比,可以发现大小确实有缩小
2.解压缩 man.config.gz
[root@localhost tmp]# gzip -d man.config.gz [root@localhost tmp]# ll total 12 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 4940 Aug 17 12:37 man.config
3.如果想保留源文件,可以使用以下的命令
[root@localhost tmp]# gzip -c man.config >>man.config.gz [root@localhost tmp]# ll total 16 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 4940 Aug 17 12:37 man.config -rw-r--r--. 1 root root 2184 Aug 17 13:02 man.config.gz
4.测试压缩文件是否有错
[root@localhost tmp]# gzip -tv man.config.gz man.config.gz: OK
其中
-t 参数是 检查压缩文件是否有错
-v 参数显示较详细资讯,在压缩过程中使用,还能显示压缩比等信息
[root@localhost tmp]# gzip -v man.config man.config: 56.4% -- replaced with man.config.gz
5.gzip 有9个压缩等级 其中 -9 压缩比最好 -1 压缩速度最快 默认的压缩等级是 -6
[root@localhost tmp]# gzip -cv -1 man.config >>man.config1.gz man.config: 53.4% [root@localhost tmp]# gzip -cv -9 man.config >>man.config9.gz man.config: 56.4% [root@localhost tmp]# ll total 20 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 4940 Aug 17 12:37 man.config -rw-r--r--. 1 root root 2332 Aug 17 13:14 man.config1.gz -rw-r--r--. 1 root root 2184 Aug 17 13:15 man.config9.gz
我们顺便介绍一下 linux 下另一个比较常用的压缩命令 bzip2 它的使用方法与 gzip 基本相同,但它生成的文件后缀名为 .bz2 我们实际来做一下
[root@localhost tmp]# bzip2 -zkv man.config man.config: 2.251:1, 3.555 bits/byte, 55.57% saved, 4940 in, 2195 out. [root@localhost tmp]# ll total 24 -rw-r--r--. 1 root root 2730 Jul 27 03:45 chkconfig.txt -rw-r--r--. 1 root root 4940 Aug 17 12:37 man.config -rw-r--r--. 1 root root 2332 Aug 17 13:14 man.config1.gz -rw-r--r--. 1 root root 2184 Aug 17 13:15 man.config9.gz -rw-r--r--. 1 root root 2195 Aug 17 12:37 man.config.bz2