• 技术文章 >运维 >linux运维

    linux gzip压缩命令怎么使用

    青灯夜游青灯夜游2022-11-25 19:28:28原创279

    在linux中,gzip命令用于对文件进行压缩和解压缩,通过此命令压缩得到的新文件,其扩展名通常标记为“.gz”,使用语法为“gzip [选项] 源文件”。语法中的源文件,当进行压缩操作时,指的是普通文件;当进行解压缩操作时,指的是压缩文件。gzip命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。

    php入门到就业线上直播课:进入学习

    本教程操作环境:linux7.3系统、Dell G3电脑。

    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 ~]# 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 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。

    案例演示:

    压缩文件

     [root@localhost ~]# ls //显示当前目录文件
     a.c b.h d.cpp
     [root@localhost ~]# gzip * //压缩目录下的所有文件
     [root@localhost ~]# ls //显示当前目录文件
     a.c.gz    b.h.gz    d.cpp.gz
     [root@localhost ~]#

    接范例1, 列出详细的信息

    gzip -dv * //解压文件,并列出详细信息

    1.png

    接范例1,显示压缩文件的信息

    gzip -l *

    2.png

    相关推荐:《Linux视频教程

    以上就是linux gzip压缩命令怎么使用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    Linux系统运维及项目正式上线:点击学习

    专题推荐:linux gzip压缩
    上一篇:linux cp命令有什么用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• linux硬链接为何不能链接目录• dev/hda5在linux中表示什么• linux nobody是啥用户• linux查看日志的命令是什么• linux cp命令有什么用
    1/1

    PHP中文网