Linux gzip/gunzip压缩解压

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

你可能感兴趣的:(Linux教程)