gz是linux系统中非常常见的压缩文件格式,基于gzip压缩算法生成,通常用来压缩单个文件或者和其他打包格式结合使用。掌握gz文件的解压方法是linux用户的基础技能,不同场景下的解压操作略有区别,下面分别介绍具体的实现方式。

基础解压方法:使用gunzip命令
gunzip是linux系统自带的处理gzip压缩文件的核心命令,专门用来解压后缀为.gz的压缩文件,基本使用方式非常简单。
解压单个gz文件的基础命令格式如下:
# 解压test.txt.gz文件,解压后会删除原压缩文件 gunzip test.txt.gz # 如果想要保留原压缩文件,添加-k参数 gunzip -k test.txt.gz
如果是压缩的是普通文本、配置文件等单个文件,使用上述命令就可以直接完成解压。如果需要查看解压过程的详细信息,可以添加-v参数:
# 解压时显示详细信息 gunzip -v test.txt.gz
处理打包压缩的gz文件:使用tar命令
实际使用中经常会遇到.tar.gz或者.tgz格式的文件,这类文件是先通过tar命令打包多个文件,再用gzip压缩生成的,不能直接用gunzip解压,需要使用tar命令同时完成解包和解压操作。
tar命令解压tar.gz文件的基础格式如下:
# 解压test.tar.gz到当前目录 tar -zxvf test.tar.gz # 解压到指定目录,比如解压到/tmp目录 tar -zxvf test.tar.gz -C /tmp
各个参数的含义如下:
- -z:调用gzip解压算法处理gz压缩层
- -x:执行解包操作
- -v:显示解压过程的文件信息
- -f:指定要处理的压缩文件名,必须放在参数最后
- -C:指定解压后的目标目录
其他常见场景处理
解压到标准输出不生成文件
如果只需要查看gz文件的内容,不需要生成解压后的文件,可以使用zcat命令或者直接让gunzip输出到标准输出:
# 查看test.txt.gz的内容 zcat test.txt.gz # 使用gunzip输出内容 gunzip -c test.txt.gz
批量解压多个gz文件
如果需要解压当前目录下所有的gz文件,可以结合通配符和循环实现:
# 批量解压当前目录所有.gz文件,保留原压缩文件 for file in *.gz; do gunzip -k "$file"; done
常见问题说明
解压时如果提示权限不足,需要在命令前添加sudo获取管理员权限;如果提示文件不是合法的gz格式,需要检查文件是否完整或者后缀是否正确。另外如果系统没有安装gzip相关工具,可以通过包管理器安装:
# Ubuntu/Debian系统安装 sudo apt install gzip # CentOS/RHEL系统安装 sudo yum install gzip