Linux gzip/gunzip压缩解压

  • Post author:
  • Post category:linux




gzip/gunzip



gzip介绍

GZIP是Linux系统常见的文件压缩格式之一。是一款GNU自由软件的文件压缩程序,gzip是GNUzip的缩写。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式



gzip命令

gzip只能针对普通文件进行压缩和解压,对于文件夹,符号链接等是不支持的。基本语法如下所示:



语法


gzip [选项] [文件]


常用参数如下所示:

参数 说明


  • -d

    ,

    --decompress

    解压文件

  • -f

    ,

    --force

    压缩/解压文件强制覆盖已经存在的文件

  • -l

    ,

    --list

    显示压缩包的信息,如压缩前大小、压缩后大小、压缩比例等

  • -r

    ,

    --recursive

    递归压缩指定目录中的所有文件和子目录中的文件,将每个文件都压缩为一个gz文件

  • -t

    ,

    --test

    检查压缩文件的完整性

  • -v

    ,

    --verbose

    显示详细过程

  • -V

    ,

    --version

    显示版本信息


压缩速度和压缩强度


在压缩文件时,可以根据实际需要采用不同的压缩速度和压缩强度,来调整压缩的时间和压缩比例。在gzip中共提供了9种压缩级别。


  • -1

    :代表压缩速度最快,但压缩强度不高

  • -9

    :代表压缩强度最高,但压缩速度较慢

  • -6

    :gzip默认值



实例



压缩文件
[root@localhost ~]# gzip /root/test.txt


详细显示压缩文件信息
[root@localhost ~]# gzip -l /root/test.txt.gz
         compressed        uncompressed  ratio uncompressed_name
                 29                   0   0.0% /root/test.txt



解压压缩包

gzip -d test.gz


解压缩文件并显示详细过程
[root@localhost ~]# gzip -dv /root/test.txt
/root/test.txt.gz:        0.0% -- replaced with /root/test.txt


将tar打包文件进行压缩文件
[root@localhost ~]# gzip /root/dir.tar


详细显示tar.gz压缩文件信息
[root@localhost ~]# gzip -l /root/dir.tar.gz
         compressed        uncompressed  ratio uncompressed_name
                183               10240  98.5% /root/dir.tar


解压缩tar.gz压缩文件
[root@localhost ~]# gzip -d /root/dir.tar.gz


解压缩tar.gz压缩文件并显示详细过程
[root@localhost ~]# gzip -dv /root/dir.tar.gz
/root/dir.tar.gz:        98.5% -- replaced with /root/dir.tar



gunzip解压缩

gunzip是用来解开被gzip压缩过的文件,是一个使用广泛的解压缩程序,压缩文件预设最后的扩展名为

.gz

。事实上gunzip就是gzip的硬链接,因此不论是压缩或解压缩,都可通过gzip指令单独完成



语法

gunzip [选项] [文件]

  • -a



    -ascii

    :使用ASCII文字模式

  • -c



    -stdout



    --to-stdout

    :把解压后的文件输出到标准输入设备

  • -f



    -force

    :强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接

  • -h



    --help

    :在线帮助

  • -l



    --list

    :列出压缩文件的相关信息

  • -L



    --license

    :显示版本与版权信息

  • -n



    --no-name

    :解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理

  • -N



    --name

    :解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上

  • -q



    --quiet

    :不显示警告信息

  • -r



    --recursive

    :递归处理,将指定目录下的所有文件及子目录一并处理

  • -S<压缩字尾字符串>



    --suffix<压缩字尾字符串>

    更改压缩字尾字符串

  • -t



    --test

    :测试压缩文件是否正确打开

  • -v



    -verbose

    :显示指令执行过程

  • -V



    --version

    :显示版本信息



实例



解压压缩包
[root@localhost ~]# gunzip test.txt.gz


解压tar.gz压缩包
[root@localhost ~]# gunzip test.txt.tar.gz