Linux基础教程:关于gzip,bzip2
gzip 压缩命令。默认执行gzip就是压缩文件,且删除原文件。gunzip就是解压文件。zcat查看压缩文件里面文档的内容。
-c 输出压缩的文件,并且保持原文件。注意,要在-c后面将输出的文件输入到指定的文件才行,不然会在屏幕上显示一堆的乱码!如:
[root@rhel6 test]# ls
loo ssh_config
[root@rhel6 test]# gzip -c ssh_config >ssh.gz
[root@rhel6 test]# ls
loo ssh_config ssh.gz
-d 解压文件
[root@rhel6 test]# gzip -d ssh.gz
[root@rhel6 test]# ls
loo ssh ssh_config
-l 列出压缩文件内容
[root@rhel6 test]# gzip -l ssh.gz
compressed uncompressed ratio uncompressed_name
1034 2047 50.6% ssh
-r递归压缩,压缩文件夹及文件夹里面的所有文档。
[root@rhel6 test]# ls -R loo/
loo/:
ab abc lo
loo/lo:
abcd
[root@rhel6 test]# gzip -r loo/
[root@rhel6 test]# ls -R loo/
loo/:
abc.gz ab.gz lo
loo/lo:
abcd.gz
-v对文件进行压缩且显示每个文件的压缩率。不能对已经压缩了的文件生效。
[root@rhel6 test]# ll ssh_config
-rw-r--r--. 1 root root 2047 11月 11 00:29 ssh_config
[root@rhel6 test]# gzip -v ssh_config
ssh_config: 50.6% -- replaced with ssh_config.gz
[root@rhel6 test]# ll ssh_config.gz
-rw-r--r--. 1 root root 1041 11月 11 00:29 ssh_config.gz
zcat可以查看压缩文件里面文档的内容,但不是列出压缩文件的列表哦!用-l可以列出压缩文件中文件列表。
[root@rhel6 test]# echo aa >test
[root@rhel6 test]# gzip test
[root@rhel6 test]# zcat test.gz
aa
即相当于我们对普通文件cat test一样的效果。
bzip2 算是gzip的替代者吧。效果要强于gzip。但bzip2并不能解压gz的文件。两者并不兼容。同样,默认bzip2为压缩。bunzip2为解压。bzcat为查看压缩文件内文件的内容。
-d 解压,与gzip一样
-z 压缩
-k 保持原文件压缩或解压
-f 覆盖已存在的同名文件,与gzip一样
-t 测试压缩文件,与gzip一样
-c 标准输出,与gzip一样
-q安静模式,即不显示错误信息,与gzip一样
-v 显示详细信息并压缩,与gzip一样。
-s 以小内存模式运行,即不怎么占用内存。
[root@rhel6 test]# ls
loo ssh ssh_config test
[root@rhel6 test]# bzip2 ssh ------压缩,不保存原文档
[root@rhel6 test]# ls
loo ssh.bz2 ssh_config test
[root@rhel6 test]# bzip2 -d ssh.bz2 -----------解压缩,不保存压缩档
[root@rhel6 test]# ls
loo ssh ssh_config test
[root@rhel6 test]# bzip2 -k ssh ----------压缩,保存原文档
[root@rhel6 test]# ls
loo ssh ssh.bz2 ssh_config test
[root@rhel6 test]# bunzip2 ssh.bz2 -----------解压缩,由于原文件存在,则报错
bunzip2: Output file ssh already exists.
[root@rhel6 test]# bunzip2 -f ssh.bz2 ----------强制覆盖同名文件
[root@rhel6 test]# ls
loo ssh ssh_config test
[root@rhel6 test]# bzip2 -z ssh ------压缩
[root@rhel6 test]# bzip2 -d -q ssh.bz2 -------解压缩,不提示错误
[root@rhel6 test]# ls
loo ssh ssh_config test
[root@rhel6 test]# bzip2 -v ssh -----压缩,且显示详细停止
ssh: 1.824:1, 4.385 bits/byte, 45.19% saved, 2047 in, 1122 out.
[root@rhel6 test]# ls
loo ssh.bz2 ssh_config test