Linux 中的 tar 命令及示例 - Linux 命令行教程
tar 命令创建 tar 文件类型,用于将多个文件组合成一个存档。 Tar 实际上意味着“磁带存档”,因为 tar 的最初目的是用于磁带备份 - 这应该告诉您这种格式有多古老。 Linux 系统仍然使用 tar 格式,并且至今仍得到广泛使用。
Tar 文件的扩展名为 .tar
,通常称为“tarball”。这些文件将保留 Linux 文件权限,并且可以将任意数量的文件组合到单个存档中,但它们不会应用任何压缩或空间节省。但是,可以轻松地将压缩应用于 tar 文件,从而在 gzip 压缩的情况下产生诸如 .tar.gz
的扩展名,或者在 xz 压缩的情况下产生 .tar.xz
的扩展名。
Tar 档案在 Linux 中使用 tar 命令打开和创建。您希望使用的压缩类型以及要归档的文件将决定您需要在该命令中使用哪些选项。
在本指南中,您将通过示例了解如何在 Linux 中使用 tar 命令。请按照以下步骤了解可与此命令一起使用的各种选项。
在本教程中您将学习:
如何在 Linux 上使用 tar 命令
常用选项
Linux 中的 tar 命令可用于创建和打开许多不同类型的压缩档案。 tar 命令在 Linux 上被频繁使用的原因之一是它可以保留 Linux 文件权限。其他操作系统(例如 Windows)默认情况下并不总是打开 tar 文件,但它是所有 Linux 发行版中普遍存在的标准。按照下面的示例了解如何打开和创建不同类型的 tar 文件。
Linux 中的 tar 命令基本示例
创建存档时,tar 命令至少需要两个选项。这些选项是
c
(创建)和f
(文件)。这些选项将告诉 tar 命令创建一个新的存档并允许您分别指定存档的文件名。在下面的示例中,我们将把三个文件组合成一个不压缩的 tar 存档。$ tar cf archive.tar file1 file2 file3
tar 存档上最常见的压缩类型可能是 gzip。要创建使用 gzip 压缩的 tar 存档,您需要将
z
选项添加到 tar 命令中。$ tar cfz archive.tar.gz file1 file2 file3
Linux 上另一种非常流行的压缩类型是 bzip2。您可以使用
j
创建使用 bzip2 压缩的 tar 存档。对于大多数类型的文件,这将产生比 gzip 更小的压缩存档,但也需要更多的处理能力和时间。$ tar cfj archive.tar.bz2 file1 file2 file3
过去几年中越来越流行的一种较新的压缩类型是 xz 压缩。这种类型的压缩通常会为您提供最小的文件大小,但与我们迄今为止介绍的其他选项相比,也会花费更多的处理能力和时间。您需要将
J
选项与 tar 一起使用来创建此类存档。$ tar cfJ archive.tar.xz file1 file2 file3
要解压缩 tar 存档,无论使用哪种压缩类型,都可以使用
x
(提取)和f
选项。只需将 tar 存档的名称传递给命令即可对其进行解压缩。$ tar xf archive.tar
注意
您始终可以使用 man 命令来阅读有关 tar 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。
高级用法
tar 命令非常容易理解,但它的底层包含了大量选项。到目前为止,我们已经了解了如何使用 tar 命令创建各种类型的压缩档案以及如何打开它们。在下面的部分中,您将看到一些可以与 tar 命令一起使用的更高级选项,使您可以更好地控制压缩档案。
Linux 高级示例中的 tar 命令
如果您想将 tar 存档的内容提取到当前工作目录以外的其他位置,请使用
-C
选项。$ tar xf archive.tar -C /path/to/dir
使用
-v
(详细)选项查看 tar 命令当前正在向存档添加或提取哪些文件。$ tar cvf archive.tar file1 file2 file3 OR $ tar xvf archive.tar
要从 tar 存档中提取特定文件,只需指定要提取的文件的名称即可。
$ tar xf archive.tar.gz file1 file2 file3
结束语
在本指南中,我们了解了有关 Linux 上的 tar 命令的所有信息。 tar 命令是 Linux 上用于管理压缩或未压缩档案的主要命令。我们有很多选项可用于压缩 tar 存档,使该命令非常强大且通用。掌握一些命令选项后,您将能够从命令行快速压缩和提取文件。