如何解压缩.tar.gz文件(适用于 Linux 和 Windows) 您所在的位置:网站首页 win10有winrar吗 如何解压缩.tar.gz文件(适用于 Linux 和 Windows)

如何解压缩.tar.gz文件(适用于 Linux 和 Windows)

2024-06-30 19:25| 来源: 网络整理| 查看: 265

如何解压缩.tar.gz文件

如何解压缩 .tar.gz 文件(适用于 Linux 和 Windows)从视频到整个软件包,许多文件都使用 .tar.gz 格式压缩和存储。虽然解压缩 .tar.gz 文件并不像解压 .zip 文件那么容易,但仍然非常简单。

随着软件功能越来越强大,媒体数据越来越丰富,文件大小继续以指数速度增长。因此,以 .tar.gz 压缩格式存储和发送文件变得越来越普遍。

然而,压缩和提取这些文件并不总是那么直观。在本指南中,我们将提供在 Linux 和 Windows 中解压缩 .tar.gz 文件的基本指南,以及一些有用的提示和技巧。

什么是 .tar 和 .tar.gz 文件?

.tar 文件是压缩成单个文件或归档文件的文件集合。TAR “是 “Tape ARchive” 的缩写,是对磁带驱动器存储文件时代的回溯。

值得庆幸的是,你不需要成为 1960 年代的电脑技术员就能使用和提取 .tar 文件,现代的 .tar 文件甚至与旧电脑没有任何关系。

就像人们更熟悉的 .zip 文件一样,.tar 文件也能将大文件压缩成一个单独的文件包,从而更容易通过电子邮件、服务器等方式存储和发送这些文件。因此,它已成为许多开源软件包和其他资源的常用文件扩展名。

既然.zip 和.tar 都更容易使用,那为什么还要使用.tar 呢?我们将在下一节中看到,.tar 具有一些额外的功能,使其成为某些文件和应用程序的更好压缩格式。

.tar vs .zip

大多数操作系统都能轻松解压和创建 .zip 文件,但 .tar 文件却并非如此–至少不容易注意到。

当然,这并不是说 .tar 文件比 .zip 格式 “次”。相反,它们都以相同的方式完成相同的任务(文件压缩)。下面我们就来看看它们是如何工作的。

.tar 文件是未压缩文件的集合,有时也称为 tar 包。由于 .tar 并不压缩任何东西,因此它需要一个单独的压缩工具来进行压缩。正如我们稍后将看到的,一种常用的压缩工具是 gzip,它能将 .tar 压缩成 .tar.gz 文件。 zip 文件是压缩文件的集合。与使用单独的压缩工具来压缩整个文件集不同,.zip 会自动压缩文件集中的每个文件。

现在,你可能已经注意到 .tar 和 .zip 文件的主要区别:压缩方法。

.zip 文件由许多单独压缩的文件组成,而 .tar 文件是作为一个单独的压缩包压缩的,其文件未经压缩。换句话说,.zip 文件是压缩文件的集合,而 .tar 文件是压缩文件的集合。

但压缩方法真的重要吗,尤其是如果两种方法在技术上都能生成压缩文件?

这要看情况。在发送和存储方面,.zip 和 .tar.gz 文件都能让你以单个文件的形式发送相对较大的软件包。不过,在访问文件中的数据和压缩效率方面,两者还是有很大区别的。

.zip 文件更容易访问。由于 .zip 文件中的数据是单独压缩的,因此也可以单独访问。相比之下,.tar.gz 文件中的数据只有在解压缩整个文件后才能访问。 .tar.gz 文件更节省空间。由于 .tar 文件是作为单个实体而不是一组单独压缩的文件进行压缩的,因此压缩实用程序可以将文件之间的相似性进行分组,从而减少空间。换句话说,将文件压缩为一个单独的组,可以采用更有效的压缩方法,从而节省空间并减小文件的整体大小。

如果还不太明白,也不用担心。抛开技术细节不谈,你只需要记住,.zip 文件更易于访问,但空间效率较低;而.tar 文件更易于访问,但空间效率较高。因此,一个并不一定比另一个好,关键在于应用。

.tar 和 .tar.gz 文件有什么区别?

虽然 .tar 和 .tar.gz 都指文件归档,但 .tar.gz 文件是使用 gzip 工具压缩或 “压缩 “的 .tar 文件。使用 gzip 压缩后,文件的后缀名就变成了”.gz”。

虽然 gzip 是最常用的压缩工具,但它并不是唯一的压缩工具。如你所想,在 .tar 文件上使用不同的压缩工具会产生不同的双扩展名。一些常见的例子包括 .tar.bz2 (bzip2)、.tar.br (Brotli) 和 .tar.zst (zstd),等等。

正如我们稍后将看到的,不同的压缩工具可能需要不同的方法来解压和解压缩文件。虽然我们将主要关注 .tar.gz 文件,但请查看文章末尾有关解压缩其他格式 .tar 文件的一些快速提示。

否则,请继续阅读,了解如何在 Linux、macOS 和 Windows 中解压缩 .tar.gz 文件。

如何在 Linux 终端解压缩 .tar.gz 文件?

大多数 Linux 发行版和 macOS 都包含用于压缩和解压缩 .tar 和 .tar.gz 文件的内置工具。虽然 tar 实用程序足以满足大多数用途,但你需要使用 gzip 实用程序来创建 .tar.gz 文件。

在 Linux 中解压缩 .tar.gz 文件

你可以使用 tar 工具解压缩大多数 .tar.gz 和其他压缩 .tar 文件。

最简单的方法是打开终端(CTRL+ALT+T)并导航到要解压缩的 .tar.gz 文件的目录。然后输入以下命令:

将 .tar.gz 文件解压缩到当前工作目录:

tar -xf filename.tar.gz

该命令将解压缩 ( -x ) 指定的文件 ( -f ) (本例中为 filename.tar.gz)到当前目录。请注意,该命令也适用于其他常见的压缩格式,如 .tar.bz2。

tar 命令还有其他几个选项。与许多 Linux 命令一样,其中一个选项是 verbose output ( -v ),可将解压缩后的文件打印到终端窗口:

将 .tar.gz 文件解压缩到当前工作目录并打印输出:

tar -xvf filename.tar.gz

同样,上述命令默认将解压缩到当前工作目录。你可以使用 -C 选项解压缩到不同的目录(本例中为 /home/user/files)。

将 .tar.gz 文件解压缩到不同的工作目录:

tar -xf filename.tar.gz -C /home/user/files 在 Linux 中仅从 .tar.gz 文件中提取特定文件或目录

tar 命令还支持只从 .tar.gz 文件中提取特定文件或目录。只需添加一个空格分隔的列表,列出你要提取的文件。

从 .tar.gz 文件中提取 file1 和 directory1 到当前工作目录:

tar -xf filename.tar.gz file1 directory1

请注意,除非指定 .tar 文件中列出的确切文件名,否则该命令会出错。正如我们将在下一节详细介绍的那样,你可以使用 tar -tf filename.tar.gz 命令列出内容来验证文件名。

你还可以使用 --wildcards 命令来提取具有特定扩展名或名称的所有文件。

从 .tar.gz 文件中提取所有以 “.txt” 结尾的文件:

tar -xf filename.tar.gz --wildcards '*.txt' 在 Linux 中从 stdin 解压缩 .tar.gz

您也可以直接从标准输入流 (stdin) 中解压缩 .tar.gz 文件,方法是使用解压缩选项 ( -z ) 将其导入 tar 命令。

例如,如果你想提取位于 ” https://www.wbolt.com/filename.tar.gz” 的 .tar.gz 文件(这里实际上并没有 .tar.gz 文件,但请耐心等待),你可以使用 wget 命令,并将其导入 tar 命令。

从 URL 提取 .tar.gz 文件:

wget -c https://kinsta.com/filename.tar.gz -O - | sudo tar -xz 在 Linux 中列出 .tar.gz 文件的内容

列出 .tar.gz 文件的内容通常很有用,而不必解压缩整个压缩包。 -list ( -t ) 选项将输出文件名列表。

列出 .tar.gz 文件的内容:

tar -tf filename.tar.gz

你还可以添加详细输出选项 ( -v ),提供详细列表,包括日期、证券/权限等。

列出 .tar.gz 文件的详细内容:

tar -tvf filename.tar.gz

许多压缩实用程序还提供自己的命令,用于列出压缩文件的内容。例如,gzip 允许使用以下命令列出 .gz 文件的内容:

用 gzip 列出 .gz 文件的详细内容:

gzip -l filename 使用 gzip 在 Linux 中压缩和解压缩 .tar 和 .tar.gz 文件

你可以使用 gzip 等压缩工具创建自己的 .tar 压缩文件。Gzip 是最受欢迎的可用选项之一,尤其是因为它已内置在大多数 Linux 发行版和 macOS 中。

在终端中,导航到要压缩的 .tar 文件的工作目录,然后输入以下命令即可:

使用 gzip 压缩 .tar 文件:

gzip filename.tar

使用解压 ( -d ) 选项解压 .tar.gz 文件也同样简单。

使用 gzip 解压 .tar.gz 文件:

gzip -d filename.tar

如果你想在压缩后保留原始文件,有两个选项。第一个是 -k 选项,另一个是使用 -c 选项将压缩后的文件输出到另一个文件,保留原始文件。

压缩 .tar 文件并保留原始副本:

gzip -c filename.tar

压缩 .tar 文件并存储为另一个文件:

gzip -c filename.tar > newfilename.tar.gz

与 tar 工具一样,gzip 也可以一次压缩和解压缩多个文件或整个目录。

压缩多个文件:

gzip file1 file2

解压多个文件:

gzip -d file1 file2

压缩目录中的所有文件:

gzip -r directory1

解压缩目录中的所有文件:

gzip -dr directory1 如何在 Windows 10 中解压缩 .tar.gz 文件?

与 Linux 和 macOS 一样,Windows 10 操作系统也内置了 tar 实用程序。

与 Windows 方便的图形用户界面 (GUI) 解压缩 .zip 文件不同,您需要通过命令行使用 tar 实用程序。不过,你也可以安装许多第三方工具,以获得更友好的使用体验。

使用命令行 (cmd)

要访问 Windows 命令行,请在搜索栏中搜索 “命令提示符” 或 “cmd”。右键单击第一个结果,选择 “以管理员身份运行” 选项。

在 Windows 10/11 中搜索 "cmd"

在 Windows 10/11 中搜索 “cmd” 后出现的命令提示符图标

打开命令提示符后,使用适当的命令将当前工作目录 ( cd ) 更改为要解压缩的 .tar.gz 文件的位置。或者,在使用 tar 工具时,也可以指定源文件和目标文件路径。

键入以下命令之一并按 “Enter”。

将 .tar.gz 文件解压缩到当前工作目录:

tar -xvzf filename.tar.gz

将 .tar.gz 文件从源路径解压缩到目标路径:

tar -xvzf C:\PATH\TO\SOURCE\filename.tar.gz -C C:\PATH\TO\DESTINATION

请注意,Windows 中 tar 工具的语法与 Linux 和 macOS 中的几乎相同。在这里,我们使用了提取 ( -x )、verbose ( -v )、使用 gzip ( -z ) 解压缩和文件 ( -f ) 选项,以获得完整的提取、解压缩和详细输出。

使用第三方工具

如果你不喜欢使用命令行,还有很多用户友好型工具可用于解压缩 tar.gz 文件。

使用 7-Zip 将大量文件压缩成 .zip 文件

使用 7-Zip 将大量文件压缩成 .zip 文件

虽然有许多工具可供选择,但最流行的还是 7-Zip 和 WinZip。虽然它们略有不同,但都非常轻便,是使用命令行之外的另一种更简单的选择。

一些第三方工具还提供了文件类型间转换的更大灵活性,如果你想在不同压缩格式间转换,可以节省更多时间。许多工具还适用于 Linux 和 macOS。

7-Zip 的兼容性选项

7-Zip 的兼容性选项,包括 .tar 和 .gz。

不过,虽然 7-Zip 等工具是免费的,但许多更 “强大” 的解决方案只有在试用期后才有价格。因此,我们建议坚持使用免费(但值得信赖)的工具或直接使用命令行。

常见错误诊断

并非每次 .tar.gz 解压缩都能天衣无缝,尤其是在使用命令行的情况下!

命令行很少(如果有的话)有错字或遗漏,许多常见错误都是小错误、拼写错误或格式不正确造成的。值得庆幸的是,除非你丢失了 tar 或 gzip 工具,大多数常见错误都很容易修复。

tar: README: Not found in archive

尝试使用 tar 从 .tar.gz 文件中提取特定文件或目录时,会出现此错误。

Error Input:

tar -xf filename.tar.gz FILE

Error Output:

tar: FILE: Not found in filename tar: Exiting with failure status due to previous errors

在本例中,用户试图从 filename.tar.gz 中提取名为 “FILE” 的文件。然而,tar 无法在 .tar.gz 中找到 FILE,这意味着用户拼错了文件名,或者 filename.tar.gz 中根本不存在该文件。另一个常见的错误原因是大小写敏感性,Linux 将 “FILE” 和 “file” 视为两个独立的实体。

解决办法:使用 tar -tf filename.tar.gz 列出内容,检查拼写和/或验证文件是否存在于 .tar.gz 存档中。

tar: Archive is compressed. Use -z option

如果尝试解压文件而未指定解压实用程序,特别是 -z 用于 gzip ,则会出现此错误。

Error Input:

wget -c https://www.wbolt.com/filename.tar.gz -O - | sudo tar -x

请注意,最右边的 sudo tar -xz 中缺少了” -z “。

Error Output:

tar: Archive is compressed. Use -z option tar: Error is not recoverable: exiting now

解决方案:在 tar 命令中指定解压缩选项,如 gzip ( -z )。

gzip: stdin: not in gzip format

许多用户报告说,运行了 “正确” 的命令,却发现他们的 .tar.gz 文件 “不是 gzip 格式” – 尽管扩展名为 .gz。

Error Output:

gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors

这种错误通常发生在 .tar 文件被保存为 .gz 文件时,尽管该文件从未使用 gzip 工具压缩过。这听起来可能是个愚蠢的错误,但在用户直接重命名文件及其扩展名(如 .tar 和 .gz)的过程中,这种错误却非常常见。

解决方法:查找 .tar.gz 文件的新副本,或使用 tar -xf filename.tar 将其解压缩为 .tar 文件。如果该命令也出错,下一个解决方案可能会有帮助。

tar: Unrecognized archive format

与前一个错误类似,当存档被保存为 .tar 格式,而不是 .tar 存档时,也会出现这个错误。

Error Output:

tar: Unrecognized archive format tar: Error exit delayed from previous errors.

解决方案:查找 .tar 或 .tar.gz 文件的新副本,或尝试用 gunzip filename.tar.gz 。如果 gunzip 命令不起作用,可尝试用 tar -xvf filename.tar.gz 命令的冗余输出列出内容,看看是否有特定文件导致了问题。不过,更有可能的情况是,文件一开始就没有正确压缩成 .tar 文件。

常见问题

在浏览 .tar、.tar.gz 和 .gz 文件时很容易混淆,更不用说压缩和解压缩了。以下是我们在处理 .tar.gz 文件时经常听到的几个常见问题。

如何打开 .tar.gz 文件?

您可以使用 Linux、macOS 和 Windows 10 内置的 tar 命令打开大多数 .tar.gz 文件。如果你不习惯使用终端或命令行,第三方工具(如 7-Zip)提供了更方便用户使用的替代方法。

.gz 是 .tar 文件吗?

虽然每个 tar.gz 文件都是 .tar 压缩包,但并非每个 .gz 文件都是 .tar 文件。.gz 扩展名代表 gzip 压缩格式,几乎可用于任何文件格式,以压缩数据并节省空间。

.tar.gz 和 .zip 一样吗?

虽然 .zip 和 .tar.gz 都能归档和压缩文件,但它们的方式不同。.zip 归档和压缩单个文件,而 .tar 只归档单个文件,让 .gz (gzip) 等单独的压缩格式将所有文件压缩为单个文件/归档文件。换句话说,.zip 是压缩文件的集合,而 .tar.gz 是压缩文件的集合。

.tar.gz 比 .zip 更高效吗?

是的。由于 .tar.gz 一次压缩多个文件,它可以利用单个文件之间的相似性来节省空间。一般来说,归档并压缩为 .tar.gz 的文件集比压缩为 .zip 的文件集更节省空间(即更小)。

小结

随着 Linux、macOS 和 Windows 10 提供内置 tar 工具,通过命令行解压缩 tar.gz 文件比以往任何时候都要简单。通常,你唯一需要的命令是

tar -xvzf filename.tar.gz

与许多归档和压缩格式一样,.tar.gz 是节省存储空间和方便发送大量数据的有效方法。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有