每天一条Linux命令(19) gzip (压缩或解压文件)

编程入门 行业动态 更新时间:2024-10-25 00:30:42


在Linux系统中,命令gzip用于将一个文件通过特定的压缩算法(Lempel-Zip coding (LZ77))变成一个小的文件。gzip不能直接压缩目录,因此在压缩目录前需先将带目录的文件用tar打包,然后在调用gzip进行压缩。


语法:

gzip [参数选项] [文件]

参数说明:

-d 解开压缩文件

-v 显示执行过程

-l 列出压缩文件的内容信息

-c 将内容输出到标准输出,不改变原始文件

-r 对目录下所有文件递归进行压缩操作

-数字 <1~9> 指定压缩率,默认为6,值越大压缩率越高

-t 测试,检查压缩文件是否完整

【注】:gzip无论是解压文件还是压缩文件,其结果都会将源文件删除。


案例:

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

[root@master test02]# ls10.py  1.py  2.py  3.py  4.py  5.py  6.py  7.py  8.py  9.py[root@master test02]# gzip *.py[root@master test02]# ls10.py.gz  1.py.gz  2.py.gz  3.py.gz  4.py.gz  5.py.gz  6.py.gz  7.py.gz  8.py.gz  9.py.gz[root@master test02]# 

不解压 .gz文件 查看压缩文件的信息(都是空文件,所以压缩率均为0.0%)

[root@master test02]# ls10.py.gz  1.py.gz  2.py.gz  3.py.gz  4.py.gz  5.py.gz  6.py.gz  7.py.gz  8.py.gz  9.py.gz[root@master test02]# gzip -l *.gz         pressed        unpressed  ratio unpressed_name                196                 172   0.0% 10.py                 25                   0   0.0% 1.py                 25                   0   0.0% 2.py                 25                   0   0.0% 3.py                 25                   0   0.0% 4.py                 25                   0   0.0% 5.py                 25                   0   0.0% 6.py                 25                   0   0.0% 7.py                 25                   0   0.0% 8.py                 25                   0   0.0% 9.py                421                 172 -131.4% (totals)[root@master test02]#

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

[root@master test02]# ls10.py.gz  1.py.gz  2.py.gz  3.py.gz  4.py.gz  5.py.gz  6.py.gz  7.py.gz  8.py.gz  9.py.gz[root@master test02]# gzip -dv *.gz10.py.gz:    0.0% -- replaced with 10.py1.py.gz:    0.0% -- replaced with 1.py2.py.gz:    0.0% -- replaced with 2.py3.py.gz:    0.0% -- replaced with 3.py4.py.gz:    0.0% -- replaced with 4.py5.py.gz:    0.0% -- replaced with 5.py6.py.gz:    0.0% -- replaced with 6.py7.py.gz:    0.0% -- replaced with 7.py8.py.gz:    0.0% -- replaced with 8.py9.py.gz:    0.0% -- replaced with 9.py[root@master test02]# ls # 注意源文件没有被保留10.py  1.py  2.py  3.py  4.py  5.py  6.py  7.py  8.py  9.py[root@master test02]# 

经验技巧

由于gzip无论是进行解压还是压缩均会删除源文件,因此我们通过gzip附带的如:zcat、zgrep、zless、zdiff等 命令来实现保留源文件的操作

[root@master test02]# ls10.py  1.py  2.py  3.py  4.py  5.py.gz  6.py  7.py  8.py  9.py[root@master test02]# zcat 5.py.gz > 5.py # 将.gz文件内容重新输出到压缩后的文件中[root@master test02]# ls # 可以发现 5.*文件有两个,源文件保留了下来10.py  1.py  2.py  3.py  4.py  5.py  5.py.gz  6.py  7.py  8.py  9.py[root@master test02]# 

 

更多推荐

命令,文件,Linux,gzip

本文发布于:2023-05-26 11:36:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/265263.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   文件   Linux   gzip

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!