如何提取(解压缩)tar.xz文件

tar 命令允许您创建和提取tar归档文件。 它支持各种压缩程序,例如gzip,bzip2,lzip,lzma,lzop,xz和compress。

Xz是基于LZMA算法的一种流行的文件压缩算法。 按照惯例,tar压缩文件的名称压缩为 z 以任一结尾 .tar.xz 要么 .txz

本文介绍了如何使用 tar 提取(或解压缩)命令 .tar.xz 要么 .txz 档案。

提取tar.xz文件#

柏油 默认情况下,该实用程序已预安装在所有Linux发行版和macOS上。

要提取tar.xz文件,请调用 tar 用命令 --extract-x)选项,然后在 -f 选项:

tar -xf archive.tar.xz

tar 自动检测压缩类型并提取存档。 可以使用同一命令来提取用其他算法压缩的tar归档文件,例如 .tar.gz 要么 .tar.bz2

如果命令行不是您的事,则可以使用GUI文件管理器。 要提取(解压缩)tar.xz文件,只需右键单击要提取的文件,然后选择“提取”。 Windows用户需要一个名为7zip的工具来提取tar.xz文件。

要获得更详细的输出,请使用 -v 选项。 这个选项告诉 tar 在终端上显示正在提取的文件的名称。

tar -xvf archive.tar.xz

默认, tar 将存档内容提取到当前工作目录中。 要提取特定目录中的存档文件,请使用 --directory-C)。

以下示例显示了如何将存档内容提取到 /home/linuxize/files 目录:

tar -xf archive.tar.xz -C /home/linuxize/files

从tar.xz文件中提取特定文件

要从tar.xz文件中提取特定文件,请在归档文件名后附加要提取的文件名的空格分隔列表:

tar -xf archive.tar.xz file1 file2

解压缩文件时,必须提供其确切名称,包括路径,如路径 tar 与一起调用 --list-t) 选项。

从存档中提取一个或多个目录与提取多个文件相同:

tar -xf archive.tar.xz dir1 dir2

如果您尝试解压缩档案中不存在的文件,将显示类似于以下内容的错误消息:

tar -xf archive.tar.xz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

--wildcards 选项允许您基于通配符模式从tar.xz文件中提取文件。 该模式必须加引号,以防止外壳解释它。

例如,仅提取名称以结尾的文件 .png,您将使用:

tar -xf archive.tar.xz --wildcards '*.png'

从stdin中提取tar.xz文件

通过从标准输入(通常通过管道)读取档案来提取压缩的tar.xz文件时,必须指定解压缩选项。 的 -J 选项告诉 tar 用xz压缩文件。

在下面的示例中,我们使用 wget 命令并将其输出通过管道传递给 tar 命令:

wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj

如果您未指定解压缩选项, tar 将显示您应该使用的选项:

tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now

列出tar.xz文件内容#

要列出tar.xz文件的内容,请使用 --list-t) 选项:

tar -tf archive.tar.xz

输出将如下所示:

file1
file2
file3

如果您添加 --verbose-v) 选项, tar 将打印更多信息,例如所有者,文件大小,时间戳..etc:

tar -tvf archive.tar.xz
-rw-r--r-- linuxize/users       0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users       0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users       0 2020-02-15 01:19 file3

结论#

tar.xz 文件是用xz压缩的Tar归档文件。 要提取tar.xz文件,请使用 tar -xf 命令,然后是档案名称。

如有任何疑问,请在下面发表评论。

焦油终端

Sidebar