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
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/
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
其中压缩时需要加 -z 参数
-k 可以保留源文件
从压缩结果来看 bzip2 有更好的压缩效果