Linux gzip命令:压缩文件或目录

beat365官方入口素描网 📅 2025-08-12 19:34:09 👤 admin 👁️ 8055 ❤️ 355
Linux gzip命令:压缩文件或目录

gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为“.gz”。

再强调一下,gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。

gzip 命令的基本格式如下:

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

命令中的源文件,当进行压缩操作时,指的是普通文件;当进行解压缩操作时,指的是压缩文件。该命令常用的选项及含义如表 1 所示。

表 1 gzip 命令常用选项及含义

选项含义

-c

将压缩数据输出到标准输出中,并保留源文件。

-d

对压缩文件进行解压缩。

-r

递归压缩指定目录下以及子目录下的所有文件。

-v

对于每个压缩和解压缩的文件,显示相应的文件名和压缩比。

-l

对每一个压缩文件,显示以下字段:

压缩文件的大小;

未压缩文件的大小;

压缩比;

未压缩文件的名称。

-数字

用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。

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

[root@localhost ~]# gzip install.log#压缩instal.log 文件[root@localhost ~]# lsanaconda-ks.cfg install.log.gz install.log.syslog#压缩文件生成,但是源文件也消失了

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

[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样可以缩文件的同时不删除源文件[root@localhost ~]# lsanaconda-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 ~]# lsanaconda-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 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。

相关养生推荐

iPad 的处理和回收信息
国内在365投注

iPad 的处理和回收信息

📅 07-03 👁️ 6324
6分钟看懂PMP考试 | 2025超全攻略
国内在365投注

6分钟看懂PMP考试 | 2025超全攻略

📅 07-06 👁️ 1117
怎么看佛缘还是道缘?佛缘和道缘怎么区分?
beat365官方入口素描网

怎么看佛缘还是道缘?佛缘和道缘怎么区分?

📅 07-09 👁️ 1078
王者荣耀代练平台哪个好?五大平台优劣全知晓,看这一篇就够了!
365打水账号怎么防止封号

王者荣耀代练平台哪个好?五大平台优劣全知晓,看这一篇就够了!

📅 07-21 👁️ 4798
榴莲怎么种
beat365官方入口素描网

榴莲怎么种

📅 07-11 👁️ 8684
为什么微信红包打不开,怎样处理?
365打水账号怎么防止封号

为什么微信红包打不开,怎样处理?

📅 07-03 👁️ 2807