在Linux中使用Tar命令创建和提取档案

在本文中,我们将向您展示如何使用Tar实用程序来提取和创建tar归档文件,并附有实际示例和最常见的Tar选项的详细说明。

团队 tar用于通过将一组文件转换为存档来创建tar存档。 它还具有提取tar归档文件,显示归档文件中包含的文件列表,将其他文件添加到现有归档文件以及各种其他类型的操作的功能。

Tar支持多种压缩程序,例如 gzipbzip2lziplzmalzopxzcompress… 创建压缩的tar存档时,通常考虑在存档文件名中添加一个压缩后缀。 例如,如果归档文件是使用gzip压缩的,则应将其命名为archive.tar.gz。

Tar最初旨在在将文件存储在磁带上的同时创建档案,因此名称为“ Ť增强现实 细香葱。

tar有两种版本,BSD tar和GNU tar,但有一些功能上的区别。 大多数Linux系统默认都预先安装了GNU tar。 如果您尚未安装tar,建议您先阅读有关如何在CentOS上安装tar.gz的文章,然后再进行安装。

在继续使用tar命令之前,让我们先看一下基本语法。

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

  • OPERATION-仅允许和要求一个参数。 最常用的操作:
    • --create-c)-创建一个新的tar存档。
    • --extract-x)-提取整个档案或档案中的一个或几个文件。
    • --list-t)-显示档案中包含的文件列表
  • OPTIONS -最常用的操作:
    • --verbose-v)-显示由tar命令处理的文件。
    • --file=archive=name-f archive-name)-指定存档文件的名称。
  • ARCHIVE_NAME -存档的名称。
  • FILE_NAME(s)-要提取的文件名的空格分隔列表。 如果未提供,则将提取整个存档。

执行tar命令时,可以使用tar操作和选项的长格式或短格式。 长格式更具可读性,而短格式则更快。 长格式选项以双破折号( --)。 简短格式参数以一个破折号( -),可以省略。

使用运算符 -c 创建一个tar档案。 例如,创建一个名为 archive.tar来自名为 file1file2file3 运行以下命令:

tar -cf archive.tar file1 file2 file3

这是使用长格式参数的等效命令:

tar --create --file=archive.tar file1 file2 file3

以下示例将创建一个存档 backup.tar 从目录 /home/username

tar -cf backup.tar /home/username

您可以从一个或多个目录或文件的内容创建档案。 默认情况下,如果未指定参数,则以递归方式归档目录 --no-recursion… 使用参数 -v如果要查看正在处理的文件。

Gzip是tar文件最受欢迎的压缩算法。 使用gzip压缩tar归档文件时,归档文件名称必须以以下任一结尾 tar.gz或者 tgz

要从给定文件创建tar.gz归档文件,可以使用以下命令:

tar -czf archive.tar.gz file1 file2

选项 -z告诉tar使用算法压缩档案 gzip

tar文件的另一种流行的压缩算法是bzip2。 使用bzip2压缩tar归档文件时,归档文件名称必须以以下任一结尾 tar.bz2 或者 tbz

指定选项时 -j ,tar将使用该算法 bzip2 存档压缩。

以下命令将创建一个存档 tar.bz2 从给定的文件:

tar -cjf archive.tar.bz2 file1 file2

要列出tar归档文件的内容,请使用操作 --list-t)。

tar -tf archive.tar

file1
file2
file3

如果使用参数指定档案的内容 --verbose-v),tar将打印更多信息,例如所有者,文件大小,时间戳等:

tar -tvf archive.tar

-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file1
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file2
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file3

要提取tar归档文件,请使用运算符 --extract-x)并指定存档文件的名称:

tar -xf archive.tar

此外,通常会添加该选项 -v 打印提取文件的名称。

tar -xvf archive.tar

默认情况下,tar将在当前工作目录中提取存档的内容。 使用 --directory-C)提取特定目录中的存档文件:

例如,将档案的内容提取到目录中 /opt/files, 您可以使用:

tar -xf archive.tar -C /opt/files

例如,在提取压缩档案时, tar.gz或者 tar.bz2 您无需指定解压缩参数。 该命令与解压缩档案时的命令相同 tar

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

要从tar归档文件中提取特定文件,请在归档文件名后添加一个要用空格分隔的文件名列表:

tar -xf archive.tar file1 file2

解压缩文件时,必须提供准确的名称,包括打印路径 --list-t)。

从档案中提取一个或多个目录类似于提取文件:

tar -xf archive.tar dir1 dir2

如果您尝试解压缩不存在的文件,则会出现类似于以下内容的错误消息:

tar -xf archive.tar README

tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

要基于通配符模式从存档中提取文件,请使用开关 --wildcards 并提供防止外壳解释的模式。

例如,提取名称以。结尾的文件 .js(JavaScript文件),您可以使用:

tar -xf archive.tar --wildcards '*.js'

要将文件或目录添加到现有的tar存档中,请使用以下操作 --append-r)。

例如,添加一个名为 newfile 在archive.tar中,您可以使用:

tar -rvf archive.tar newfile

使用操作 --delete 从存档中删除文件。

例如,删除名为 file1 从archive.tar,您可以使用:

tar --delete -f archive.tar file1

到目前为止,您应该对如何创建和提取tar归档文件有很好的了解。

请禁用您的广告拦截器或将此网站列入白名单!

Sidebar