Linux解压tar.gz、zip、bz2文件 常用命令【教程】

幻夢星雲

幻夢星雲

2026-04-20

1147人浏览

原创

linux解压核心逻辑是分清“单文件压缩”(如.zip、.bz2)和“归档+压缩”(如.tar.gz、.tar.bz2):前者用unzip/bunzip2,后者必须用tar加对应参数(-z/-j)一步解压,-f必须紧接文件名且位置正确。

linux解压tar.gz、zip、bz2文件 常用命令【教程】

Linux 下解压这三类文件,根本不需要记一堆命令——只要分清「单文件压缩」和「归档+压缩」两类逻辑,就再不会输错参数。

tar.gz 是归档+gzip压缩,必须用 tar -xzf

很多人输成 tar -xvfgunzip,结果报错或只解出一个空 tar 包。因为 .tar.gz 不是单纯 gzip 压缩的单文件,而是先用 tar 打包成 .tar,再用 gzip 压缩成 .gz ——所以解压必须一步到位,靠 tar 自动调用 gzip 解码:

  • tar -xzf archive.tar.gz:解到当前目录
  • tar -xzf archive.tar.gz -C /path/to/dir:解到指定目录(-C 必须紧接路径,不能加等号)
  • 别用 gunzip archive.tar.gz:它只会把 .tar.gz 变成 .tar,还得再跑一次 tar -xf
  • 如果提示 Cannot exec gzip: No such file or directory,说明系统没装 gzip(极少见,但某些最小化安装的 Alpine 或 BusyBox 环境会出现)

zip 是独立压缩格式,用 unzip,不是 tar

.zip.tar.gz 本质不同:它自带目录结构和元数据(如权限、时间戳),不依赖外部归档工具。强行用 tar -xf 会报 gzip: stdin: not in gzip format 或直接乱码。

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • unzip archive.zip:解到当前目录
  • unzip archive.zip -d /path/to/dir:解到目标目录(注意是 -d,不是 -C
  • unzip -l archive.zip:先看内容,避免解压时覆盖同名文件
  • 如果解压后文件权限丢失(比如可执行脚本变不可执行),加 -X 参数保留扩展属性(需 zip 打包时用了 -X

bz2 文件分两种:纯 .bz2.tar.bz2

这是最容易混淆的点。.bz2 是 bzip2 对单个文件的压缩结果;.tar.bz2 是 tar 归档后再 bzip2 压缩——两者解法完全不同:

  • file.txt.bz2 → 用 bunzip2 file.txt.bz2bzip2 -d file.txt.bz2(解完得 file.txt
  • archive.tar.bz2 → 用 tar -xjf archive.tar.bz2-j 表示调用 bzip2,不是指文件后缀)
  • 误用 bunzip2 archive.tar.bz2 会解出一个损坏的 archive.tar,再用 tar -xf 会报 Unexpected EOF in archive
  • 某些老系统没有 bunzip2,但一定有 bzip2 -d;而 tar -j* 需要 tar 编译时启用了 bzip2 支持(主流发行版默认都有)

为什么 tar 能自动识别压缩类型,却还要手动加 -z -j

因为 tar 本身不解析文件头,它只是按参数决定调用哪个后端解码器。不加 -z 就不会调 gzip,哪怕文件名是 .tar.gz ——这也是为什么你见过有人写 tar -xvf file.tar.gz 却卡住不动:它在试图解一个未解压的二进制流,自然失败。

  • 实际中几乎没人省略 -z/-j,因为 tar 不会猜;文件名后缀只是人类约定,对命令无意义
  • 想偷懒?用 atool -x archive.*(需安装 atool),它会自动 sniff 文件头判断格式,但生产环境不建议依赖这种封装
  • 最常被忽略的是 -f 必须紧跟文件名,且必须是最后一个选项(或单独成项),比如 tar -xzf -C /dst archive.tar.gz 是错的,正确是 tar -xzf archive.tar.gz -C /dst

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

2694

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

1672

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

1320

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

2675

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

2442

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

1660

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

1255

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1444

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

210

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习