安卓系统

Linux中的Tar命令(创建和提取档案)

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

目录:

Anonim

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

Tar最初旨在创建用于在磁带上存储文件的档案,这就是为什么它的名称为“ T ape AR chive”。

在本教程中,我们将通过实际示例和最常见的tar选项的详细说明,向您展示如何使用 tar 命令提取,列出和创建tar归档文件。

Tar命令语法

tar有两种版本,BSD tar和GNU tar之间有一些功能差异。 大多数Linux系统默认都预先安装了GNU tar。

tar 命令的常规语法如下:

tar

  • 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 操作和选项的长格式或短格式。 长格式更易于阅读,而短格式则更易于键入。 长格式选项的前缀是双破折号( -- )。 简短格式选项的前面带有一个短划线( - ),可以将其省略。

创建Tar存档

Tar支持各种压缩程序,例如 gzip bzip2 lzip lzma lzop xz compress 。 创建压缩的tar归档文件时,将压缩程序后缀附加到归档文件名是公认的惯例。 例如,如果归档文件已使用 gzip 压缩,则应将其命名为archive.tar.gz。

要创建tar归档文件,请使用 -c 选项,后跟 -f 和归档文件的名称。

例如,要从名为 file1 file2 file3 的文件创建一个名为 archive.tar 的档案,您将运行以下命令:

tar -cf archive.tar file1 file2 file3

这是使用长格式选项的等效命令:

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

您可以从一个或多个目录或文件的内容创建档案。 默认情况下,除非指定 --no-recursion 选项,否则 --no-recursion 方式归档目录。

以下示例将创建 /home/user 目录的名为 user_backup.tar 的存档:

tar -cf backup.tar /home/user

如果要查看正在处理的文件,请使用 -v 选项。

创建Tar Gz存档

Gzip是最受欢迎的压缩tar文件的算法。 使用gzip压缩tar归档文件时,归档文件名称应以 tar.gz tgz 结尾。

-z 选项告诉tar在创建档案时使用 gzip 算法压缩档案。 例如,要从给定文件创建tar.gz归档文件,可以使用以下命令:

tar -czf archive.tar.gz file1 file2

创建Tar Bz2存档

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

当指定 -j 选项时,tar将使用 bzip2 算法来压​​缩档案。 以下命令将从给定文件创建 tar.bz2 归档文件:

tar -cjf archive.tar.bz2 file1 file2

列出Tar档案

--list -t )选项一起使用时, tar 命令将列出tar归档文件的内容,而不会提取它。 下面的命令将列出 archive.tar 文件的内容:

tar -tf archive.tar 输出将列出存档中所有文件的名称:

file1 file2 file3

要获取更多信息,例如文件所有者,文件大小,时间戳记,请使用 --verbose -v )选项:

tar -tvf archive.tar

-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3

提取Tar存档

Linux中的大多数归档文件都是使用tar或tar.gz格式归档和压缩的。 了解如何从命令行提取这些文件很重要。

要提取tar存档,请使用 --extract -x )选项,后跟存档名称:

tar -xf archive.tar

添加 -v 选项以打印要提取的文件的名称也是很常见的。

tar -xvf archive.tar

在其他目录中提取Tar存档

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

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

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

提取Tar Gz和Tar Bz2档案

提取压缩的归档文件(例如 tar.gz tar.bz2 ,不必指定解压缩选项。 该命令与提取 tar 归档文件时的命令相同:

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

从Tar存档中提取特定文件

有时,您可能只需要提取其中几个文件,而不是提取整个存档。

要从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

使用通配符从Tar存档中提取文件

要基于通配符模式从存档中提取文件,请使用 --wildcards 开关并引用该模式以防止Shell解释它。

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

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

将文件添加到现有的Tar存档

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

例如,要将名为 newfile 的文件添加到archive.tar,您将运行:

tar -rvf archive.tar newfile

从Tar存档中删除文件

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

以下示例显示如何从archive.tar中删除文件 file1

tar --delete -f archive.tar file1

结论

tar 命令最常见的用途是创建和提取tar归档文件。 提取档案时,请使用 tar -xf 命令,后跟档案名称,然后使用 tar -czf 创建新的档案,后跟档案名称以及要添加到档案中的文件和目录。

有关tar命令的更多信息,请参阅Gnu tar文档页面。

焦油终端