了解 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 文件

在上面 example,我已经为当前目录中的所有文本文件创建了一个 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 命令创建了这些档案,因此我们可以使用基本的 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.gz 已附加到存档中。 现在让我们从存档中删除该文件。 为此,我们将使用 -删除 选项。

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

结论

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