首页 > Sysadmin > 正文

Linux 解压文件:6 种格式实测

huyuanwen 2026-11-02 Sysadmin

Linux 常见压缩格式的解压命令对比,已 WSL2 实测。

一、识别压缩包类型

先看后缀再选命令。常见组合:

  • .tar / .tar.gz / .tgz → tar
  • .zip → unzip 或 7z
  • .gz / .bz2 / .xz → 对应单文件工具
  • .7z → 7z

也可用 file 命令确认真实格式,避免被错误后缀误导 [1]。

二、tar 与 tar.* 系列

tar 只打包不压缩;压缩由 gzip/bzip2/xz 承担。解压时 tar 自动识别压缩格式:

tar -xvf archive.tar
tar -xzvf archive.tar.gz
tar -xjvf archive.tar.bz2
tar -xJvf archive.tar.xz

-x 解压,-v 显示过程,-f 指定文件名,-z/-j/-J 分别对应 gzip/bzip2/xz [1]。

指定目标目录:

tar -xzvf archive.tar.gz -C /target/dir

-C 切换目标目录,目录不存在时 tar 不会自动创建 [2]。

三、zip / jar 解压

unzip 直接解压 ZIP 及其变体(jar、apk 本质上都是 zip):

unzip archive.zip
unzip archive.zip -d /target/dir
unzip -l archive.zip

默认解压到当前目录;-d 指定目录;-l 列出内容 [3]。

四、gzip / bzip2 / xz 单文件

这三个工具只处理单文件压缩流,不打包目录:

gunzip -c file.txt.gz > file.txt
gunzip file.txt.gz

bunzip2 -c file.txt.bz2 > file.txt

xz -d -c file.txt.xz > file.txt
xz -d file.txt.xz

-c 输出到 stdout,保留原压缩包;不加 -c 会删除原文件 [4]。

bzip2 解压时自动识别 .bz2、.bz、.tbz2、.tbz 后缀 [6]。

xz 与 gzip 参数对齐,-d 解压,-k 保留原文件 [5]。

五、7z 万能解压

7z(p7zip)支持 7z、zip、tar、gz、bz2、xz 等几十种格式,适合统一处理:

7z x archive.zip -o/target/dir
7z x archive.7z

x 保持完整路径;-o 指定输出目录,路径与 -o 之间无空格 [7]。

六、排错速查与回滚

  • tar: Cannot open: No such file or directory:-f 后面没跟文件名,或路径写错。
  • unzip: cannot find or open archive.zip:文件不存在或权限不足,ls -l 确认。
  • gzip: not in gzip format:实际不是 gzip 压缩,file 确认格式。
  • xz: Unexpected end of input:压缩包损坏,重新下载。
  • 7z: No such file or directory:p7zip-full 未安装,apt install p7zip-full。

回滚/撤销:解压本身不修改原压缩包;误删原文件后无法通过解压恢复,操作前建议用 -c 保留原文件。

—

草稿待审


参考资料

文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。