全国咨询/投诉热线:400-618-9090

首页技术文章正文

Linux如何使用 gzip 命令压缩文件或目录

更新时间:2019年08月15日 18时16分23秒 来源:黑马程序员

".gz"格式是 Linux 中最常用的压缩格式,使用 gzip 命令进行压缩,其基本信息如下:

命令名称:gzip。

英文原意:compress or expand files。

所在路径:/bin/gzip。

执行权限:所有用户。

功能描述:压缩文件或目录。

命令格式

[root@localhost ~]# gzip [选项] 源文件

选项:

-c:将压缩数据输出到标准输出中,可以用于保留源文件;-d:解压缩;

-r:压缩目录;

-v:显示压缩文件的信息;

-数字:用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6;【例 1】基本压缩。

gzip 压缩命令非常简单,甚至不需要指定压缩之后的压缩包名,只需指定源文件名即可。我们来试试:

[root@localhost ~]# gzip install.log

#压缩instal.log 文件

[root@localhost ~]# ls

anaconda-ks.cfg install.log.gz install.log.syslog#压缩文件生成,但是源文件也消失了

 

【例 2】保留源文件压缩。

在使用 gzip 命令压缩文件时,源文件会消失,从而生成压缩文件。这时有些人会有强迫症,就逼问笔者:能不能在压缩文件的时候,不让源文件消失?好吧,也是可以的,不过很别扭。

[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,#这样可以缩文件的同时不删除源文件[root@localhost ~]# ls

anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog#可以看到压缩文件和源文件都存在

 

【例 3】 压缩目录。

我们可能会想当然地认为 gzip 命令可以压缩目录。 我们来试试:

[root@localhost ~]# mkdir test

[root@localhost ~]# touch test/test1

[root@localhost ~]# touch test/test2

[root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件[root@localhost ~]# gzip -r test/

#压缩目录,并没有报错

[root@localhost ~]# ls

anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test#但是査看发现test目录依然存在,并没有变为压缩文件[root@localhost ~]# ls test/

testl .gz test2.gz test3.gz

#原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩在 Linux 中,打包和压缩是分开处理的。而 gzip 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。


黑马中级程序员课程


推荐了解热门学科

java培训Python人工智能Web前端培训PHP培训
区块链培训影视制作培训C++培训产品经理培训
UI设计培训新媒体培训产品经理培训Linux运维
大数据培训智能机器人软件开发

以下是黑马程序员热门视频教程,欢迎学习关注!

Python入门教程完整版(懂中文就能学会)【点击】

零起点打开Java世界的大门【点击】
C++| 匠心之作 从0到1入门学编程【点击】

PHP|零基础入门开发者编程核心技术【点击】
Web前端入门教程_Web前端html+css+JavaScript【点击】

软件测试入门到精通【点击】
在线咨询 我要报名