- 1 1. 什么是 tar.gz 文件?基础知识
- 2 2. 如何在 Ubuntu 上提取 tar.gz 文件(终端命令)
- 3 3. 常见提取模式(实用命令,常会用到)
- 4 4. 通过图形界面提取(Ubuntu 默认文件管理器)
- 5 5. 高级:仅提取特定文件(获取你需要的)
- 6 6. 常见错误和修复(故障排除检查列表)
- 7 7. 如何创建 tar.gz 文件 (奖励:打包也很有用)
- 8 8. 总结:在 Ubuntu 上提取 tar.gz 的最快方法
- 9 FAQ(常见问题)
1. 什么是 tar.gz 文件?基础知识
如果您正在 Ubuntu 上尝试提取 tar.gz 文件,首先了解 tar.gz 实际上是什么 会很有帮助。一旦您了解了这一点,命令就会变得更有意义。本节仅以简单的方式解释初学者所需的内容。
1.1 tar.gz 结合了“归档”和“压缩”
tar.gz 简而言之,就是 将多个文件/文件夹捆绑成一个,然后压缩该捆绑包的文件。
- tar :一种归档格式,用于将多个文件“捆绑”成一个(归档)
- gz :文件扩展名,表示使用 gzip “压缩”
因此,tar.gz 文件本质上是两个步骤的结合:
- 将文件/文件夹捆绑在一起 (tar)
- 压缩捆绑包 (gzip)
这就是为什么在 Ubuntu 上,“提取” tar.gz 更准确地说是 “先解压缩,然后解包归档。”
1.2 为什么 tar.gz 在 Ubuntu 上如此常见
在 Linux 环境(包括 Ubuntu)中,tar.gz 文件极其常见。原因很简单:它们非常适合这些用例。
- 软件分发 :易于分发完整的源代码和/或二进制文件
- 备份 :可以将整个文件夹打包成一个文件
- 存储日志和配置文件 :更容易组织大量小文件
特别是,您从网络下载的工具和在 GitHub 上分发的软件包通常以 tar.gz 归档形式提供。
1.3 与类似扩展名的区别 (.tgz / .tar / .gz)
有一些看起来相似的扩展名常常让初学者困惑,所以让我们澄清一下。
• .tgz 是 .tar.gz 的较短版本
.tgz 实际上 与 .tar.gz 相同。
这是有时仍使用的较旧的简写。
• .tar 是“仅归档”(未压缩)
.tar 仅是归档(捆绑),没有压缩。
它往往文件大小较大。
• .gz 通常表示“单个文件压缩”
.gz 基本上是一种压缩格式。
在许多情况下,它只是一个使用 gzip 压缩的单个文件(例如,log.txt.gz),可能根本不包括 tar。
对于本文,只需记住:tar.gz 表示“归档 (tar) + 压缩 (gzip)” 结合。
1.4 提取前需要知道什么(避免常见错误)
初学者常常在两个点上卡住:“文件将提取到哪里?”和“内容是否安全?”牢记这些想法以保持安全和有序。
- 默认情况下,提取发生在您的“当前文件夹”中
- 在提取前预览内容更安全
- 如果您指定提取文件夹,您可以整齐地解包到桌面或任何您想要的文件夹中
在下一章中,我们将逐步介绍实际命令,并准确展示如何一步步完成。
2. 如何在 Ubuntu 上提取 tar.gz 文件(终端命令)
在 Ubuntu 上提取 tar.gz 文件有两种主要方式:
- 通过终端提取(命令) ← 最常见且可靠
- 通过 GUI 提取(右键) ← 简单,但灵活性较低
本文首先关注 基于命令的提取,因为它最容易重现和故障排除——即使对初学者来说也是如此。
2.1 最基本的提取命令(先记住这个)
这是 Ubuntu 上提取 tar.gz 文件的标准命令:
tar -xzvf filename.tar.gz
例如,如果您下载的文件是 sample.tar.gz,则使用:
tar -xzvf sample.tar.gz
这将把内容提取到 您当前所在的文件夹(当前目录) 中。
2.2 为初学者分解 tar -xzvf
它一开始可能看起来令人生畏,但一旦您知道每个部分的意思,它就很简单了。
tar:用于处理归档的命令-x:提取-z:处理 gzip 压缩 (.gz)-v:提取时显示文件名(详细)-f:指定文件名(文件)
换句话说:
.> “从指定文件中提取 gzip 压缩的 tar 存档,同时打印详细信息。”
作为初学者,直接记住 tar -xzvf 这一组合 完全没问题。
2.3 提取前:切换到文件所在的文件夹
如果出现 “file not found”,最常见的原因是你在 错误的文件夹 中运行命令。
例如,浏览器下载的文件通常保存在 Downloads 文件夹中。
在终端中,你可以这样切换过去:
cd ~/Downloads
然后检查文件是否真的在那儿:
ls
当看到 sample.tar.gz 后,运行提取命令:
tar -xzvf sample.tar.gz
2.4 如果文件名包含空格
如果文件名中包含空格,命令会在中间断开并导致错误。
示例:
my app.tar.gz(包含空格)
在这种情况下,最简单的解决办法是 用双引号将文件名括起来:
tar -xzvf "my app.tar.gz"
另外,你也可以使用 \ 转义空格:
tar -xzvf my\ app.tar.gz
对于初学者来说,使用引号的方法通常更易读。
2.5 提取后会怎样?可视化文件夹结构
在多数情况下,提取 tar.gz 会得到类似以下的结构:
- 提取
sample.tar.gz→ 会创建一个sample/文件夹,所有内容都解压到其中
但在少数情况下,tar.gz 可能会 直接在当前文件夹中解压大量文件,而不创建父文件夹。
正因如此,下一节的技巧——预览内容 和 选择提取文件夹——值得学习,以确保安全和有序。
3. 常见提取模式(实用命令,常会用到)
提取 tar.gz 文件并不只是 “全部解压”。在实际使用中,你常会根据情况选择不同的方式。以下是最常用的几种模式。
3.1 解压到当前目录(默认方式)
这是最标准的做法。
tar -xzvf sample.tar.gz
如果不确定解压到了哪里,可以在执行命令的同一位置运行 ls。
ls
3.2 解压到指定文件夹(桌面或工作文件夹)
如果想控制文件解压位置,使用 -C 选项。
例如,解压到桌面:
tar -xzvf sample.tar.gz -C ~/Desktop
如果想解压到专用的 work 文件夹,使用如下:
mkdir -p ~/work
tar -xzvf sample.tar.gz -C ~/work
关键是 目标文件夹必须已经存在。
如果不存在,先用 mkdir -p 创建,然后再解压。
3.3 提取前预览内容(安全推荐)
“我担心解压后会把文件散落到各处。”
“我不确定里面是否有奇怪的内容或会解压到奇怪的路径。”
在这种情况下,你可以仅列出内容而不进行解压。
tar -tf sample.tar.gz
如果看到类似下面的内容,基本上是安全的:
sample/sample/readme.txtsample/bin/...
另一方面,如果它看起来会把大量文件直接倾倒到当前目录,使用 -C 解压到专用文件夹 更安全。
3.4 如果不确定实际格式,使用 file 命令检查
即使扩展名是 .tar.gz,实际内容也可能是其他格式(例如下载失败导致)。
这种情况下,使用 file 来识别:
file sample.tar.gz
示例输出(有效时):
gzip compressed data ...
这一次快速检查可以避免大量无意义的错误。
4. 通过图形界面提取(Ubuntu 默认文件管理器)
如果你还不习惯使用 Terminal,你也可以使用 Ubuntu 的 GUI(基于鼠标)工作流程来提取 tar.gz 文件。
特别是当你“只是想快速解压它”时,GUI 会感觉更直观、更少压力。
4.1 逐步操作:通过右键提取(适合初学者)
Ubuntu 的默认文件管理器(Files / Nautilus)可以处理 tar.gz 存档。
- 打开 文件管理器
- 找到你的
*.tar.gz文件(通常在 Downloads 中) - 右键单击 该文件
从菜单中选择以下之一 wp:list /wp:list
- Extract Here
- Extract To…
在大多数情况下,Extract Here 是开始的完美选择。
4.2 “Extract Here” 与 “Extract To…”
概念与 Terminal 提取相同:
- Extract Here → 提取到你当前查看的文件夹中
- Extract To… → 让你选择位置,如 Desktop 或工作文件夹
如果存档包含大量文件,最好 创建一个专用的工作文件夹并提取到其中,这样你的 Desktop(或 Downloads)就不会杂乱。
4.3 GUI 提取的优缺点
GUI 很方便,但有优势和局限性。
优点
- 无需记忆命令
- 出错几率更小(因此输入错误更少)
- 适合初学者且使用快速
缺点
- 更难控制提取细节(例如,只提取特定文件,检查日志)
- 错误信息较少有用(Terminal 输出通常更清晰,便于故障排除)
如果你经常使用 Linux 或从事开发工作,最终值得学习基于 Terminal 的提取——它在需要时给你更多控制。
5. 高级:仅提取特定文件(获取你需要的)
通常,你从 tar.gz 存档中提取所有内容。然而,在某些情况下,你可能想 仅提取特定文件。
- 你只需要从大型存档中获取一个文件
- 你想先检查配置文件或 README
- 你不想浪费时间提取所有内容
这就是“仅提取特定文件”变得有用的地方。
5.1 首先,预览内容(列出文件而不提取)
如果你不知道确切路径,提取特定文件会很困难,所以从列出内容开始。
tar -tf sample.tar.gz
查看输出路径(文件名和文件夹结构)并识别你想提取的文件。
例如,你可能会看到这样的内容:
sample/README.mdsample/config/default.confsample/bin/tool
5.2 基本语法:仅提取特定文件
一旦你知道确切的文件路径,你可以这样提取它:
tar -xzvf sample.tar.gz sample/README.md
在这个例子中,只有 sample/README.md 会被提取。
提示:最好精确复制
tar -tf显示的路径。
5.3 你也可以提取存档内的整个文件夹
有时你不想要只有一个文件——你想要特定文件夹下的所有内容。
示例:仅提取 sample/config/ 及其内容
tar -xzvf sample.tar.gz sample/config/
这仅提取 config 文件夹内的文件。

5.4 为什么重要:提取不必要文件可能导致问题
初学者常见错误是不加思考地提取所有内容,这可能导致问题,如:
- 你的工作文件夹变得杂乱
- 你丢失了东西的位置
- 同名文件被覆盖
一旦你习惯了“先预览,然后仅提取你需要的”工作流程,Ubuntu 文件处理会变得更容易和更安全。
6. 常见错误和修复(故障排除检查列表)
提取 tar.gz 文件通常很简单,但在实际使用中,你仍可能遇到错误。
本节涵盖 Ubuntu 初学者面临的最常见问题,使用清晰的“原因 → 修复”方法。
6.1 tar: ...: Cannot open: No such file or directory (文件未找到)
常见原因
- 您在错误的文件夹中运行命令
- 您输入的文件名不正确(包括大小写差异)
- 您没有包含完整的扩展名
如何修复它
首先,检查您的当前位置:
pwd
然后检查该文件夹中是否存在文件:
ls
如果它在 Downloads 中,请切换到那里:
cd ~/Downloads
ls
最后,使用正确的文件名重新运行命令:
tar -xzvf sample.tar.gz
6.2 tar: This does not look like a tar archive (不是 tar 存档)
常见原因
- 文件扩展名为
.tar.gz,但内容实际上是不同的格式 - 下载已损坏(您保存了一个 HTML 错误页面)
- 它实际上是一个 zip 文件,但被重命名为 tar.gz
如何修复它
使用此命令检查文件类型:
file sample.tar.gz
如果您看到类似 HTML document 的内容,则下载很可能失败了。
在这种情况下,请重新下载文件并重试。
6.3 gzip: stdin: not in gzip format (不是 gzip 压缩格式)
常见原因
- 它实际上不是
.tar.gz(而是.tar) .gz部分不是真正的 gzip 格式- 文件已损坏
如何修复它
仔细检查扩展名。如果它是 .tar 文件,请移除 -z 并运行:
tar -xvf sample.tar
此外,为了确认文件是否损坏,此检查很有用:
file sample.tar.gz
6.4 Permission denied (无写入权限)
常见原因
- 您正在提取到系统目录(例如
/usr/local或/) - 您在目标文件夹中没有写入权限
- 外部驱动器挂载的权限问题
初学者的安全修复方法
最安全的方法是在您的主目录下工作:
mkdir -p ~/work
tar -xzvf sample.tar.gz -C ~/work
如果您确实必须提取到仅管理员可访问的位置,请使用 sudo:
sudo tar -xzvf sample.tar.gz -C /usr/local
但是,初学者应避免过度使用 sudo。
更安全的流程是:先提取到您的主文件夹 → 只移动您需要的内容。
6.5 提取成功,但“我不知道文件去了哪里”
常见原因
- 提取时您不知道当前目录
- 解包的文件太多,您跟丢了
如何修复它
首先,确认您提取的位置:
pwd
然后查找最近创建的文件/文件夹:
ls -lt
如果您想完全避免这种情况,从一开始就指定提取文件夹:
mkdir -p ~/work/extract
tar -xzvf sample.tar.gz -C ~/work/extract
6.6 提取后文件名变得乱码 (mojibake)
如果 tar.gz 存档包含日文文件名,根据您的环境,它们可能会变得乱码。
这可能是由于创建存档时使用的字符编码差异导致的。
如何处理它
- 检查您的 Ubuntu 区域设置是否设置为 UTF-8
- 如果仍然无法工作,请在另一个环境中提取,然后复制文件
检查区域设置的示例命令:
locale
在大多数情况下,如果您看到类似 LANG=ja_JP.UTF-8 的内容,您就不太可能遇到编码问题。
7. 如何创建 tar.gz 文件 (奖励:打包也很有用)
此时,您应该已经能够熟练提取 tar.gz 文件了。但是当您定期使用 Ubuntu 时,您也会遇到想要创建 tar.gz 存档的情况,例如:
- 将整个文件夹作为单个文件发送
- 创建备份
- 组织并存储多个文件
因此,在本节中,我们将介绍创建 tar.gz 存档的基础知识。
7.1 基本命令:将文件夹压缩成 tar.gz
例如,如果您想压缩名为 myfolder 的文件夹,请运行:
tar -czvf myfolder.tar.gz myfolder/
选项的含义如下:
-c: 创建-z: 使用 gzip 压缩-v: 详细输出-f: 指定输出文件名
7.2 一次压缩多个文件
您也可以将多个文件和文件夹打包成一个归档。
tar -czvf backup.tar.gz file1.txt file2.txt config/
即使在同一条命令中混合文件和文件夹也能工作。
7.3 如果想在压缩前排除文件(仅概念)
在实际工作中,您可能想避免将某些文件包含在归档中,例如:
- 缓存文件
- 大型日志文件
- 临时文件
在这些情况下,您可以使用 --exclude 选项。但作为初学者,通常只需简单地:
- 将想要归档的内容收集到一个工作文件夹中
- 将该文件夹压缩为 tar.gz 归档
这种方法简单,并且在大多数情况下都能很好地工作。
8. 总结:在 Ubuntu 上提取 tar.gz 的最快方法
如果您想要在 Ubuntu 上最快提取 tar.gz 文件,以下单行命令在大多数情况下已足够:
tar -xzvf filename.tar.gz
如果想在实际工作中避免错误,请记住以下三点提示:
- 先预览内容 :
tar -tf filename.tar.gz - 选择提取文件夹 :
tar -xzvf filename.tar.gz -C destination - 检查实际文件类型 :
file filename.tar.gz
tar.gz 归档在 Ubuntu 上随处可见,一旦您掌握了这些基础,日常工作就会顺畅得多。
FAQ(常见问题)
Q1. 在 Ubuntu 上提取 tar.gz 文件的最简方法是什么?
A. 最可靠的方法是在终端运行以下命令:
tar -xzvf filename.tar.gz
Q2. 提取时可以选择目标文件夹吗?
A. 可以。使用 -C 选项指定提取目标:
tar -xzvf sample.tar.gz -C ~/Desktop
Q3. 可以在不提取的情况下预览内容吗?
A. 可以。使用以下命令列出内容:
tar -tf sample.tar.gz
Q4. 可以使用图形界面(右键)提取 tar.gz 文件吗?
A. 可以。在 Ubuntu 的文件管理器中,右键点击 tar.gz 文件,选择 Extract Here(在此解压)即可解压。
Q5. 出现 not a tar archive 错误,无法解压
A. 文件可能已损坏,或扩展名与实际文件类型不匹配。可使用以下方式检查:
file sample.tar.gz
Q6. 我还想了解如何创建 tar.gz 文件
A. 要将文件夹压缩为 tar.gz 格式,可使用以下命令:
tar -czvf archive.tar.gz foldername/


