了解 Linux 中的 tar 命令

Windows 有多个用于提取和处理压缩文件的 GUI 实用程序。 在本教程中,让我们了解 Linux 中的 tar 命令,它允许我们在 Linux 中使用 tar、gzip 和其他存档文件。

Linux 中的 tar 命令是做什么用的?

如果您以前在 Windows 中使用过 WinRAR 或 7zip 实用程序,您就会知道,如果您想打开存档文件,您需要一个应用程序。 对于 Windows,最常用的是 WinRAR 和 7zip,它们是基于 GUI 的应用程序,适用于非常广泛的存档类型。

由于 Linux 是从磁带驱动器时代开始使用的操作系统,因此当时实施了文件压缩。 名称“tar”是“tape archive”的首字母缩写词,表示该归档程序最初是为了归档文件以供磁带驱动器存储而创建的。

在 Linux 中,我们有 7zip 和 tar 实用程序来处理存档文件等。 使用 tar,您主要可以使用 tar、xz、gzip、bunzip 和其他类似格式。 让我们看看如何。

在 Linux 中使用 tar 命令创建档案

让我们在这里学习在 Linux 中使用 tar 命令创建存档。 我们将利用 -C 表示我们要创建存档的选项,以及 -F 选项指示归档应存储在后面的文件名中。

为此,语法如下:

tar -cf <archive file name>.tar <space separated list of files> OR tar -f <filename for new archive> -c <space separated list of files> 
创建 Tar 文件

在上面的示例中,我为当前目录中的所有文本文件创建了一个 tar 文件。 为了列出文本文件,我使用了我们之前介绍过的 Linux 中的 ls 命令。

使用 tar 创建 gzip 或 bunzip 存档

由于 tar 命令可以跨多种不同的压缩算法高效工作,让我们学习如何使用 gzip 和 bzip 压缩创建存档。 当您想要创建这些类型的档案时,唯一的区别是一个附加选项。

  • -和 用于 gzip
  • -j 对于 bzip
#gzip archive tar -cz <space separated file names> -f <archive name>  #bzip archive tar -cj <space separated file names> -f <archive name> 

但是这些档案类型之间有很大区别吗? 让我们找出每个档案占用多少空间。 我们将压缩与以前相同的文本文件,并列出所有档案及其大小。

Tar 文件大小差异

如您所见,gzip 文件是最小的——327 字节。 tar 文件最大,大小为 10kb。 与我们目前携带的硬盘大小相比,这些小文件的差异几乎不明显。 但是在处理更大的文件时这种差异也很明显,这就是为什么你会看到更多 tar.gz 当它是任何 Linux 时的文件。

在 Linux 中使用 tar 命令列出存档文件

现在我们学习了如何创建不同类型的档案,让我们看看如何列出档案中的文件。 在不解压文件的情况下,如果您想列出 tar 存档的内容,我们可以使用 -t 或者 -列表 选项。

tar -tf <archive name> 
焦油列表文件焦油列表文件

使用 Linux tar 提取存档文件

现在让我们学习提取不同类型的档案。 与创建档案类似,我们可以使用特定档案类型的选项提取不同类型的档案。 基本选项是 -X 这表明我们要提取文件。 现在根据文件类型,我们需要指定 -和 或者 -j 对于 gzip 或 bzip 文件。

tar -xf <tar archive file> tar -xzf <gzip archive file> tar xjf <bzip archive file> 

由于我们使用基本的 tar 命令创建了这些档案,我们可以使用基本的 -xf 命令。 但是,如果您尝试指定 -和 或者 -j 对于不是 gzip 或 bzip 压缩的文件的选项,您将收到如下错误:

焦油提取不正确的文件类型焦油提取不正确的文件类型

向现有 Tar 文件添加和删除新文件

如果要向现有存档文件 (tarball) 添加或删除文件,可以使用 -附加 或者 -r 将文件附加到现有的 tarball。

tar --append -f <tar file name> <files to add separated by space> tar -rf <tar file name> <files to add separated by space> 
Tar 附加文​​件Tar 附加文​​件

如您所见,文件 最新的.tar.gz 已附加到档案中。 现在让我们从存档中删除该文件。 为此,我们将使用 -删除 选项。

tar --delete -f <tar file name> <files to delete> 
焦油删除文件焦油删除文件

结论

tar 命令非常灵活,您可以在 Linux 的 tar 命令中使用大量选项。 如果您想探索更多的命令选项,请随意使用 -帮助 或 man 命令查看该命令的手册页。 我们希望本教程对您有用,并且您对此命令并不满意。