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