欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

6.2 gzip:压缩或解压文件

发布时间:2024/9/3 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 6.2 gzip:压缩或解压文件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

gzip命令

用于将一个大的文件通过压缩算法(Lempel-Ziv coding(LZ77))变成一个小的文件。gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gzip进行压缩。 -d    解开压缩文件 -v    显示指令执行的过程 -l    列出压缩文件的内容信息 -c    将内容输出到标准输出,不改变原始文件 -r    对目录下的所有文件递归进行压缩操作 -数字<1-9>    指定压缩率,默认为6,值越大压缩率越高 -t    测试,检查压缩文件是否完整

把目录下的每个文件都压缩成单独的.gz文件

[root@cs6 html]# ls 10.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html oldboy [root@cs6 html]# gzip *.html [root@cs6 html]# ls 10.html.gz 2.html.gz 4.html.gz 6.html.gz 8.html.gz oldboy 1.html.gz 3.html.gz 5.html.gz 7.html.gz 9.html.gz不解压显示上一个例子中每个压缩文件的信息。 [root@cs6 html]# gzip -l *.gzcompressed uncompressed ratio uncompressed_name28 0 0.0% 10.html27 0 0.0% 1.html27 0 0.0% 2.html27 0 0.0% 3.html27 0 0.0% 4.html27 0 0.0% 5.html27 0 0.0% 6.html27 0 0.0% 7.html27 0 0.0% 8.html27 0 0.0% 9.html [root@cs6 html]# ls 10.html.gz 2.html.gz 4.html.gz 6.html.gz 8.html.gz oldboy 1.html.gz 3.html.gz 5.html.gz 7.html.gz 9.html.gz

解压文件,并显示解压过程

[root@cs6 html]# gzip -dv *.gz #<==使用-d参数解压文件,使用-v参数显示解压过程。 10.html.gz: 0.0% -- replaced with 10.html 1.html.gz: 0.0% -- replaced with 1.html 2.html.gz: 0.0% -- replaced with 2.html 3.html.gz: 0.0% -- replaced with 3.html 4.html.gz: 0.0% -- replaced with 4.html 5.html.gz: 0.0% -- replaced with 5.html 6.html.gz: 0.0% -- replaced with 6.html 7.html.gz: 0.0% -- replaced with 7.html 8.html.gz: 0.0% -- replaced with 8.html 9.html.gz: 0.0% -- replaced with 9.html [root@cs6 html]# ls 10.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html oldboy [root@cs6 html]#

压缩解压保留源文件

[root@cs6 html]# cp /etc/services . [root@cs6 html]# ll -h services -rw-r--r--. 1 root root 626K May 13 00:29 services [root@cs6 html]# gzip -c services >services.gz #<==使用-c 选项与输出重定向符号将输出定向到services.gz。 [root@cs6 html]# ll -h services* -rw-r--r--. 1 root root 626K May 13 00:29 services -rw-r--r--. 1 root root 125K May 13 00:30 services.gz #<==使用-d选项解压。 [root@cs6 html]# gzip -dc services.gz >services2 [root@cs6 html]# diff services services2 #<==对比源文件和解压后的文件,没有差别。 [root@cs6 html]# ll -h services* -rw-r--r--. 1 root root 626K May 13 00:29 services -rw-r--r--. 1 root root 626K May 13 00:31 services2 -rw-r--r--. 1 root root 125K May 13 00:30 services.gz

经验技巧

虽然上面使用重定向符号解决了保留源文件的问题,但是使用起来还是不太方便,因此这里告诉大家一个好方法:gzip套件包含了许多可以“在原地”处理压缩文件的实用程序。zcat、zgrep、zless、zdiff等实用程序的作用分别与cat、grep、less和diff相同,但是它们操作的是压缩的文件。比如: [root@cs6 html]# zcat services.gz |head # /etc/services: # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $ # # Network services, Internet style # IANA services version: last updated 2009-11-10 # # Note that it is presently the policy of IANA to assign a single well-known # port number for both TCP and UDP; hence, most entries here have two entries # even if the protocol doesn't support UDP operations. # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports [root@cs6 html]# zcat services.gz >services  #也可以直接解压出来重定向到文件。 [root@cs6 html]#

总结

以上是生活随笔为你收集整理的6.2 gzip:压缩或解压文件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。