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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23186.html