linux解压关键在于识别后缀并匹配工具:.tar系列用tar -xvf(现代版自动识别算法);.zip用unzip -d指定目录防混乱;.gz等单文件用gunzip等;rar/7z等需额外安装工具。

Linux 系统中解压不同格式的压缩包,关键在于识别文件后缀、匹配对应工具和参数。现代发行版大多预装 tar 和 unzip,但部分格式仍需手动安装工具。下面按最常用格式分类说明,兼顾实用性与兼容性。
.tar、.tar.gz、.tar.bz2、.tar.xz 这类归档压缩包
它们本质是“打包+压缩”,tar 一条命令就能搞定。现代 GNU tar(CentOS 7+/Ubuntu 16.04+)支持自动识别压缩算法,推荐用统一写法:
-
tar -xvf archive.tar—— 解压纯归档(不压缩) -
tar -xvf archive.tar.gz—— 自动识别 gzip,无需加-z -
tar -xvf archive.tar.bz2—— 自动识别 bzip2,无需加-j -
tar -xvf archive.tar.xz—— 自动识别 xz,无需加-J
如需兼容老系统或写脚本,显式指定更稳妥:tar -zxvf(gzip)、tar -jxvf(bzip2)、tar -Jxvf(xz)。加 -C /path 可指定解压目录,避免污染当前路径。
.zip 格式(跨平台最常见)
unzip 是标准工具,但默认会把所有文件解到当前目录,容易混乱:
-
unzip archive.zip—— 基础解压 -
unzip archive.zip -d ./output/—— 强烈建议指定目标目录 -
unzip -l archive.zip—— 先预览内容,确认结构再解 -
unzip -O GBK archive.zip -d ./output/—— 中文文件名乱码时指定编码
若提示 command not found: unzip,先安装:sudo apt install unzip(Debian/Ubuntu)或 sudo yum install unzip(RHEL/CentOS)。
.gz、.bz2、.xz 单文件压缩(非归档)
这类是单个文件被压缩,解压后原压缩包通常被删除:
-
gunzip file.txt.gz或gzip -d file.txt.gz→ 得到file.txt -
bunzip2 data.log.bz2或bzip2 -d data.log.bz2→ 得到data.log -
unxz archive.xz或xz -d archive.xz→ 得到archive
如果想保留压缩包并输出到新文件,可用重定向:zcat file.gz > file.txt(zcat 等价于 gunzip -c)。
其他格式(rar、7z、zst 等)
这些非默认预装,需额外安装:
-
.rar:安装
unrar(sudo apt install unrar),用unrar x archive.rar(保留路径)或unrar e archive.rar(扁平化到当前目录) -
.7z:安装
p7zip-full(sudo apt install p7zip-full),用7z x archive.7z -
.tar.zst:需
zstd支持,安装后运行tar --zstd -xvf archive.tar.zst
遇到不熟悉的后缀,先用 file archive.xxx 查看真实类型,再选对应命令,比猜更可靠。











