如何在Linux上使用tar命令压缩和提取文件

Linux上的tar命令通常用于创建.tar.gz或.tgz存档文件,也称为“ tarballs”。该命令有很多选项,但是您只需要记住几个字母即可快速使用tar创建档案。 tar命令也可以提取生成的档案。

Linux发行版随附的GNU tar命令具有集成的压缩功能。它可以创建.tar存档,然后在单个命令中使用gzip或bzip2压缩对其进行压缩。这就是为什么生成的文件是.tar.gz文件或.tar.bz2文件的原因。

压缩整个目录或单个文件

在Linux上,使用以下命令压缩整个目录或单个文件。它还会压缩您指定目录中的所有其他目录,换句话说,它会递归工作。

tar -czvf档案名称.tar.gz / path / to /目录或文件

这些开关的实际含义是:

  • -C: C创建档案。
  • -z:使用g压缩档案žip。
  • -v:在创建档案时在终端中显示进度,也称为“verbose”模式。在这些命令中,v始终是可选的,但这很有用。
  • -f:允许您指定 F存档的文件名。

假设您在当前目录中有一个名为“ stuff”的目录,并且想要将其保存到名为archive.tar.gz的文件中。您将运行以下命令:

tar -czvf archive.tar.gz的内容

或者,假设当前系统上的/ usr / local / something目录下有一个目录,您想将其压缩为一个名为archive.tar.gz的文件。您将运行以下命令:

tar -czvf archive.tar.gz / usr / local / something

一次压缩多个目录或文件

有关的:如何从Linux终端管理文件:您需要知道的11个命令

尽管tar通常用于压缩单个目录,但您也可以使用tar压缩多个目录,多个单个文件或同时压缩这两个目录。只需提供文件或目录的列表,而不是一个即可。例如,假设您要压缩/ home / ubuntu / Downloads目录,/ usr / local / stuff目录和/home/ubuntu/Documents/notes.txt文件。您只需运行以下命令:

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

只需列出要备份的目录或文件即可。

排除目录和文件

在某些情况下,您可能希望压缩整个目录,但不包括某些文件和目录。您可以通过附加一个 - 排除 切换要排除的每个目录或文件。

例如,假设您要压缩/ home / ubuntu,但不想压缩/ home / ubuntu / Downloads和/home/ubuntu/.cache目录。方法如下:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

- 排除 开关功能非常强大。它不需要目录和文件的名称,它实际上接受模式。您可以做更多的事情。例如,您可以使用以下命令归档整个目录并排除所有.mp4文件:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *。mp4

改用bzip2压缩

尽管gzip压缩最常用于创建.tar.gz或.tgz文件,但tar也支持bzip2压缩。这使您可以创建bzip2压缩的文件,通常将其命名为.tar.bz2,.tar.bz或.tbz文件。为此,只需在此处将gzip中的-z替换为bzip2的-j即可。

Gzip速度更快,但是通常压缩得少一些,因此您得到的文件会更大一些。 Bzip2较慢,但压缩程度更高,因此文件较小。 Gzip也更为常见,在某些精简的Linux系统中,默认情况下包括gzip支持,但不包括bzip2支持。通常,虽然gzip和bzip2实际上是同一件事,并且两者的工作方式相似。

例如,您将运行以下命令,而不是我们提供的用于压缩东西目录的第一个示例:

tar -cjvf archive.tar.bz2的东西

提取档案

有了存档后,可以使用tar命令将其解压缩。以下命令会将archive.tar.gz的内容提取到当前目录。

tar -xzvf archive.tar.gz

与上面使用的归档创建命令相同,除了 -X 开关取代 -C 转变。这指定您要X选择一个存档而不是创建一个存档。

您可能需要将存档的内容提取到特定目录。您可以通过附加 -C 切换到命令末尾。例如,以下命令会将archive.tar.gz文件的内容提取到/ tmp目录中。

tar -xzvf archive.tar.gz -C / tmp

如果文件是bzip2压缩文件,则将上述命令中的“ z”替换为“ j”。

这是tar命令最简单的用法。该命令包含大量其他选项,因此我们不可能在此处列出所有这些选项。想要查询更多的信息。跑过 信息焦油 外壳程序中的Command命令以查看tar命令的详细信息页面。请按 q 完成后,退出信息页面。您还可以在线阅读tar的手册。

如果您使用的是图形化Linux桌面,则还可以使用桌面随附的文件压缩实用程序或文件管理器来创建或提取.tar文件。在Windows上,您可以使用免费的7-Zip实用程序提取并创建.tar存档。


$config[zx-auto] not found$config[zx-overlay] not found