云网牛站
所在位置:首页 > Linux命令 > 使用tar命令提取tar.xz文件和列出文件内容,从tar.xz中提取特定文件

使用tar命令提取tar.xz文件和列出文件内容,从tar.xz中提取特定文件

2020-03-05 10:05:42作者:戴均力稿源:云网牛站

tar命令允许您创建和提取tar归档文件,它支持各种压缩程序,例如gzip、bzip2、lzip、lzma、lzop、xz和compress。本文介绍在Linux中提取tar.xz文件、从tar.xz文件中提取特定文件、从标准输入中提取tar.xz文件和从tar.xz文件中提取特定文件。

使用tar命令提取tar.xz文件和列出文件内容,从tar.xz中提取特定文件

 

提取tar.xz文件

默认情况下,tar实用程序已预安装在所有Linux发行版和macOS上,参考在CenOS/Ubuntu/Debian上提取.xz文件的方法

要提取tar.xz文件,请使用--extract(-x)选项调用tar命令,并在-f选项之后指定存档文件名:

tar -xf archive.tar.xz

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

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

要获得更详细的输出,请使用-v选项,此选项使tar显示在终端上提取的文件的名称:

tar -xvf archive.tar.xz

缺省情况下,tar将归档内容提取到当前工作目录中,要提取特定目录中的存档文件,请使用--directory(-C)。

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

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

 

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

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

tar -xf archive.tar.xz file1 file2

提取文件时,必须提供其确切名称,包括路径,如使用--list(-t)选项调用tar时所显示的那样。

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

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文件中提取文件,该模式必须加引号,以防止Shell程序解释它。

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

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

 

从标准输入中提取tar.xz文件

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

在下面的示例中,我们使用wget命令下载Linux内核,并将其输出通过管道传递到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将打印更多信息,例如所有者、文件大小、时间等:

tar -tvf archive.tar.xz

返回:

-rw-r--r-- ywnz/users 0 2020-02-15 01:19 file1

-rw-r--r-- ywnz/users 0 2020-02-15 01:19 file2

-rw-r--r-- ywnz/users 0 2020-02-15 01:19 file3

 

结论

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

 

相关主题

在Debian 10系统上编译安装Python-3.8.2.tar.xz的方法

Linux命令子频道
精选文章
热门文章