拿到一个 pkg.tar.gz,在 Windows 里双击,常见的结果是资源管理器弹出一个「你要如何打开这个文件」的选择框,让你自己去挑一个程序;有时候连框都不弹,只是图标一片空白,点下去没动静。文件本身没问题,卡住的是系统对双层压缩包的默认处理方式。
tar.gz 是 gzip 压缩和 tar 打包套在一起的两层结构。 Windows 10 1803 以后系统自带 tar 命令,一条 tar -xzf 能把两层一起解开;图形工具不认这层嵌套,要连着解两次,先脱掉 .gz 得到 .tar,再解一次才看到真正的文件;Linux 和 macOS 终端一条 tar -zxvf 即可。下面的命令和步骤都在 Windows 10/11 上实测跑过。
只拿到一个 .gz,或者第一次只解出一个 .tar,都属于正常的中间状态,继续往下解就行,不用急着重下或者换工具。
适用系统:Windows 10/11;最后更新:2026-09-25。
资源管理器只按后缀去找关联程序,.tar.gz 对它来说是一个陌生的整体后缀,系统自带的功能里没有哪一步会替你把外层的 gzip 和内层的 tar 串起来。双击时常见的两种反应:
先分清后缀到底是一层还是两层,能省下反复换软件试的时间。只看到 .gz,说明 gzip 那层还没脱;看到 .tar,说明 gzip 已经脱掉,剩下的是 tar 打包层。
三条路子差别在哪,可以对照着看:
手边的条件 | 用什么 | 一共解几次 | 输出目录怎么定 |
|---|---|---|---|
Windows 10 1803 及以上 | 自带 | 1 次 | 用 |
系统版本较老,或习惯右键操作 | 图形解压工具 | 2 次 | 右键菜单里选,或自己挪文件 |
Linux 或 macOS | 自带 | 1 次 | 用 |

Windows 10 1803 以后系统里就有 tar.exe,gzip 和 tar 两层它都认,一条命令能把 .tar.gz 展开成真正的文件,不用另装解压软件。参数和 Linux 上的 tar 是同一套,记住 z 管 gzip、x 管解包、f 指定文件就够用。
cmd 回车;输 powershell 也行,这两条命令在两个终端里通用。mkdir D:\out。目录必须先存在,否则 tar 会报找不到路径。tar -xzf D:\pkg.tar.gz -C D:\out,-C 后面跟输出目录,-C 和路径之间留一个空格。tar -xzvf D:\pkg.tar.gz -C D:\out,v 会把每个文件名打印出来。tar -xzf "D:\my files\pkg.tar.gz" -C D:\out。tar 不是内部或外部命令,也不是可运行的程序」,说明系统版本低于 Windows 10 1803,直接看方法二。常用参数的含义:
参数 | 作用 |
|---|---|
| 先过一遍 gzip |
| 解包 |
| 打印处理过程 |
| 指定要处理的文件 |
| 指定输出目录 |
输出目录先建好,是这条命令唯一的前置条件。 目录不存在时 tar 会直接报错退出,那条报错是它自己的,跟压缩包有没有损坏无关。

图形解压工具不会把两层一起处理,它先把外壳的 gzip 脱掉,剩下的里层 .tar 要再操作一次。
pkg.tar.gz,选解压到当前文件夹,得到一个 pkg.tar。.tar 文件是正常的,不代表解压失败,也不是文件丢了。pkg.tar,同样选解压到当前文件夹,真正的文件这时候才出现。D:\out,免得两层文件混在同一个文件夹里分不清谁是谁。记住一句话:看到
.tar就是成功了一半,再解一次收尾即可。
类 Unix 系统自带 tar,解压缩和拆包一条命令就做完了,不需要分两步走。参数里的 z 就是先过一遍 gzip,剩下的交给系统处理。
mkdir -p /home/user/outtar -zxvf pkg.tar.gz -C /home/user/out,z 表示先过 gzip,v 显示过程,C 指定输出目录.gz 文件时,先 gzip -d pkg.tar.gz,再 tar -xvf pkg.tar.tgz 的内容与 .tar.gz 完全一致,命令不用改-p 保留权限,或者用 sudo 重跑一次macOS 的终端和 Linux 用的是同一套 tar,命令可以照搬,路径换成自己的就行。
多数解压失败跟工具无关,问题出在文件没下全、扩展名被改过,或者系统里缺少解压组件。看报错原文比反复换工具快得多。
gzip -t pkg.tar.gz 没有任何输出表示正常,有报错说明文件损坏,重新下载。gzip: stdin: not in gzip format,通常说明它内层并不是 gzip,可能是被改过名的 .tar 或 .zip。tar -xzf,或者在图形工具里先把 .gz 解出 .tar。.tar 之后,任何解包工具都能拆开,这一步和平台无关。按这五步走,能分清是下载问题、后缀问题还是工具问题,再对症处理。
报错与现象的对照:
报错 / 现象 | 大概率原因 | 下一步 |
|---|---|---|
| 内层不是 gzip,后缀被改过 | 用 |
| 路径写错了,或文件不完整 |
|
提示找不到 tar 命令 | 系统低于 Windows 10 1803 | 转图形工具两次解,或进 WSL |
只解出一个 | 正常的中间状态 | 继续解里层 |
大小与服务器端不一致 | 下载中断 | 重新下载 |
tar.gz 在 Windows 上双击打不开是什么原因
因为系统里没有把这两个后缀串起来的处理链。.tar.gz 落到资源管理器手里时被当成一个整体,既没走 gzip 也没走 tar。Win10 1803 以后可以在命令行里用 tar -xzf 一次解开,或者用图形工具分两次解。
tar 命令在 Windows 上跑不起来怎么办
多数是系统版本低于 Windows 10 1803,或者机器上没有启用 tar.exe。这种情况改用图形解压工具分两次解,也可以进 WSL 执行同一条 tar -xzf。
解压 tar.gz 只得到一个 tar 文件,还要再解一次吗
要。第一次脱掉的是 gzip 层,剩下的 pkg.tar 是 tar 打包文件,再拆一次才会得到实际内容。只出现 .tar 属于正常中间状态,内容没有丢。
报 gzip: stdin: not in gzip format 怎么解决
名字里带 .gz,不代表里面装的真是 gzip。先用 file pkg.tar.gz 看清它的真实类型:是 tar 就按 tar 解,是 zip 就按 zip 解;在图形工具里也可以直接当 .tar 打开试试。
macOS 终端提示 tar: Error opening archive 怎么办
先 cd 到文件所在目录,用 ls -lh 看文件大小,再用 tar -zxvf 文件名 重跑;确认下载完整后仍然报错,重新下载一次。
解压这条线上还有几类问题,症状像、原因不一样,顺手放在这里对照:
这几类的处理方式各不相同,先分清落在哪一类,比一头扎进解压软件里挨个试要快。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。