如何在 Linux 上使用 tar 命令创建 tar.gz 存档如何在 Linux 上使用 tar 命令创建 tar.gz 存档如何在 Linux 上使用 tar 命令创建 tar.gz 存档如何在 Linux 上使用 tar 命令创建 tar.gz 存档
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 上使用 tar 命令创建 tar.gz 存档

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本文向您展示在 Linux 中使用 tar 命令从命令行创建 tar.gz 存档的最佳实践。

使用 tar 命令在 Linux 中创建 tar.gz 存档是任何 Linux 管理员的必备技能。因此,在本文中,我们将向您展示如何使用遵循最佳实践的实际示例在 Linux 中创建 tar.gz 存档。

此外,如果您想了解如何在 Linux 中提取 tar.gz 文件,请查看我们的优秀指南“如何使用命令行在 Linux 中提取 tar.gz 文件”。

例如,您可能已经遇到过扩展名为 tar、tar.gz 或 tar.bz2 的文件。虽然都是档案,但还是有区别的。因此,在我们进入实用性之前,我们想阐明它们之间的区别。

TAR、TAR.GZ 和 TAR.BZ2 之间有什么区别?

Tar 代表“Tape Archive”,因为在发明 tar 时它被用来将数据放置在存储磁带上。它是 Linux/UNIX 系统中的一种常见文件格式,将文件打包在一起以用于备份或分发目的。

现在需要记住一些重要的事情。 tar 归档文件只不过是一个归档文件。换句话说,不涉及压缩,只是将多个文件放入一个 (tar) 文件中。

因此,要获得最终 TAR 存档的压缩,在创建过程中必须使用额外的工具,例如 GZIP 或 BZIP2。

因此,当应用 GZIP 时,生成的文件具有 tar.gz 扩展名。如果使用 BZIP2,该文件将获得 tar.bz2 扩展名。

因此,在进行了这些澄清之后,让我们进入主题的核心,即如何使用 tar 命令在 Linux 中创建 tar.gz 存档。

创建 TAR 存档文件

tar 命令的一般语法如下:

tar [OPTIONS] [ARCHIVE_NAME] [FILE_NAMES]

在 Linux 中,tar 命令有许多选项,但创建存档时最重要和最常用的选项如下:

  • -c (--create) 创建一个新的 tar 存档。
  • -v (--verbose) 显示由 tar 命令处理的文件。
  • -f (--file=) 生成的存档文件名。
  • -z (--gzip) 通过 GZIP 过滤存档。
  • -j (--bzip2) 通过 BZIP2 过滤存档。
  • --exclude 排除匹配模式的文件。

例如,创建名为 myfiles.tar 的 tar 存档,包括文件 file1.txt、file2.jpg 和 file3 .pdf,使用以下命令:

tar cvf myfiles.tar file1.txt file2.jpg file3.pdf

这里需要注意的重要一点是,-f 参数必须位于参数列表的最后,因为 tar 命令期望文件名位于其后面。

从示例中可以看出,参数不需要分隔,这使得键入命令更容易。当然,如果同样按照下面的方式执行该命令,也会得到完全相似的结果:

tar -c -v -f myfiles.tar file1.txt file2.jpg file3.pdf

或者更具描述性:

tar --create --verbose --file=myfiles.tar file1.txt file2.jpg file3.pdf

现在让我们看看归档整个目录时是如何工作的。假设您有一个名为 files 的目录,并且希望将其保存到名为 myfiles.tar 的文件中。您可以输入以下命令:

tar cvf myfiles.tar files/

正如您所看到的,此命令与上一个命令之间的唯一区别是您没有将文件列表传递给 tar 命令,而是传递要归档的目录的路径。

同样,如果您希望将多个文件夹存档在一个文件中,请逐个列出它们及其完整或相对路径。

tar cvf myfiles.tar files1/ files2/

排除文件和目录

有时我们需要在排除特定文件或文件夹的同时创建存档。在这种情况下,--exclude 选项就发挥作用了。

例如,假设我们有一个名为 files 的目录,其中包含四个子目录:files1、files2、files3 和 <代码>文件4。

我们想要归档整个 files 目录,但最终的归档不应包含 files2 和 files3 目录。我们需要运行以下命令来完成此操作:

tar cvf myfiles.tar --exclude=files2 --exclude=files3 files/

请注意 files2 和 files3 的使用。因为这些字符串实际上是正则表达式,所以我们不包含任何路径。

以同样的方式,如果我们希望从存档中仅排除扩展名为 .txt 的文件,我们可以运行:

tar cvf myfiles.tar --exclude=*.txt files/

创建 TAR.GZ 存档文件

GZIP 是最广泛使用的 tar 文件压缩算法。使用 GZIP 压缩 tar 存档时,存档名称应以 tar.gz 结尾。

要使用它,请将 -z 选项添加到 tar 命令中,该选项指示 tar 应用 GZIP 压缩。例如,我们将 file1.txt、file2.jpg 和 file3.pdf 存档到名为 myfiles.tar.gz 的存档中。

tar cvzf myfiles.tar.gz file1.txt file2.jpg file3.pdf

创建 TAR.BZ2 存档文件

BZIP2 是另一种流行的压缩 tar 文件的算法。因此,使用 BZIP2 时,存档名称应以 tar.bz2 结尾。

要使用它,请将 -j 选项添加到 tar 命令中,该选项指示 tar 应用 BZIP2 压缩。例如,我们将文件 file1.txt、file2.jpg 和 file3.pdf 存档到名为 myfiles.tar 的存档中.bz2。

tar cvjf myfiles.tar.bz2 file1.txt file2.jpg file3.pdf

TAR、TAR.GZ 或 TAR.BZ – 使用哪一个?

现在您可能想知道使用三种格式(TAR、TAR.GZ 和 TAR.BZ2)中的哪一种来创建档案。好吧,这一切都取决于您的目标。换句话说,这取决于您正在寻找什么 - 压缩或简单归档。

如果您希望将一个文件或一组文件归档到一个文件中而不进行压缩,那么 TAR 格式就是您所需要的。

但是,如果需要压缩,则必须考虑其他两个选择:TAR.GZ 和 TAR.BZ2。那么,两者哪个更胜一筹呢?

事情就是这样。使用 GZIP (tar.gz) 压缩而不是 BZIP2 (tar.bz2) 是更快的选择。此外,它还具有内存效率。

另一方面,BZIP2 压缩比 GZIP 稍慢,但它应用了更高级别的压缩。因此,该文件将比使用 GZIP 压缩归档的同一文件小 15%。

因此,根据这些信息,你们每个人都可以根据情况的需要决定在何处使用以及使用何种压缩方式。

结论

本指南介绍了如何使用 Linux 的 tar 命令创建 tar、tar.gz 和 tar.bz2 档案。此外,您现在也清楚地了解了它们之间的差异。

当然,还存在其他附加方法来在 Linux 中创建压缩档案。然而,ZIP 格式是 Windows 用户最熟悉的格式。因此,如果您想了解如何在 Linux 中快速轻松地创建和解压缩 zip 文件,下面的两个指南将会非常方便。

  • 如何在 Linux 上压缩文件和目录(包含示例)
  • 如何在 Linux 中解压文件(附示例)

我们希望对您有所帮助。欢迎在下面的部分中提供任何反馈。

您可以参考 tar 命令手册页以获取有关它的更多信息。

©2015-2025 Norria support@norria.com