Linux命令“tar”的使用示例

实质上,tar文件是一种创建包含许多其他文件的存档文件的方法。

想象一下你有一个文件夹结构,里面有你想要从一台计算机复制到另一台计算机的文件。 您可以编写一个执行副本的脚本,并将所有文件放在目标机器上的正确文件夹中。

如果您可以创建一个文件并将所有文件和文件夹合并为文件的一部分,然后您可以将其复制到目标文件并进行解压缩,那将会更加容易。

习惯使用 WinZip之类的 Windows软件的用户已经意识到了这种功能,但是压缩文件和tar文件之间的区别在于tar文件没有被压缩。

如指南中所示,压缩tar文件是很常见的,它显示了如何提取tar.gz文件。

本文将向您展示如何使用tar 命令

如何创建一个Tar文件

试想一下,您的主文件夹下的图片文件夹中有许多不同的文件夹,每个文件夹中有许多图片。

您可以创建一个包含所有图像的tar文件,同时使用以下命令维护文件夹结构:

tar -cvf照片〜/照片

这些开关如下所示:

如何列出Tar文件中的文件

您可以使用以下命令列出tar文件的内容:

tar -tf tarfilename

这提供了一个tar文件中的文件和文件夹的列表。

您应该始终在从一个陌生来源提取tar文件之前执行此操作。

至少一个tar文件可能会将文件提取到您不期望的文件夹中,并且会损坏系统的某些部分,因此知道哪些文件正在到达哪里是一个很好的起点。

最糟糕的是,坏人创造了一种叫做焦油炸弹的东西,它旨在摧毁你的系统。

前面的命令只是给出了文件和文件夹的列表。 如果您想要更详细的视图来显示文件大小,请使用以下命令:

tar -tvf tarfilename

这些开关如下所示:

如何从一个Tar文件中提取

现在您已经将这些文件列入了tar文件,您可能希望解压tar文件。

要提取tar文件的内容,请使用以下命令:

tar -xvf tarfile

这些开关如下所示:

如何将文件追加到Tar文件

如果您想要将文件添加到现有的tar文件中,请运行以下命令:

tar -rvf tarfilename / path / to / files

这些开关如下所示:

如何仅添加文件,如果它们较新

前一个命令的问题是,如果添加了tar文件中已存在的文件,它们将被覆盖。

如果只想添加比现有文件更新的文件,请使用以下命令:

tar -uvf tarfilename / path / to / files

如何防止焦油覆盖文件,同时提取

如果你正在提取一个tar文件,你可能不想覆盖文件,如果它们已经存在。

这个命令可以确保现有的文件是独立的:

tar -xkvf tarfilename

只提取比现有文件更新的文件

如果你正在提取一个tar文件,你可能会很高兴文件被覆盖,但只有当tar文件中的文件比现有文件更新时才会被覆盖。

以下命令显示如何执行此操作:

tar --keep-newer-files -xvf tarfilename

将文件添加到Tar文件后如何删除文件

一个tar文件保持未压缩状态,所以如果你有一个400-gigabyte的文件到一个tar文件中,你的原始位置将有一个400-gigabyte的文件,而其中包含一个400-gigabyte文件的tar文件。

添加到tar文件时,您可能希望删除原始文件。

以下命令显示如何执行此操作:

tar --remove-files -cvf tarfilename / path / to / files

在创建它时压缩一个Tar文件

要在创建后立即压缩tar文件,请使用以下命令:

tar -cvfz tarfilename / path / to / files

概要

tar命令有几十个开关,通过使用man tar命令或运行tar --help可以找到更多信息。