如何提取(解压缩)tar.xz文件
“ tar”命令允许我们创建和提取tar归档文件。
它支持各种压缩程序,例如gzip,bzip2,lzip,lzma,lzop,xz和compress。
Xz是一种流行的算法,用于基于LZMA算法压缩文件。
按照约定,用xz压缩的tar归档文件的名称以.tar.xz或者.txz结尾。
本文介绍了如何使用“ tar”命令提取(或者解压缩).tar.xz或者.txz档案。
提取tar.xz文件
默认情况下,tar实用程序已预安装在所有Linux发行版和macOS上。
要提取tar.xz文件,请使用'--extract'('-x')选项调用'tar'命令,并在'-f'选项之后指定存档文件名:
tar -xf archive.tar.xz
“ tar”会自动检测压缩类型并提取存档。
可以使用同一命令来提取使用其他算法(例如.tar.gz或者.tar.bz2)压缩的tar存档。
如果不是我们需要的命令行,则可以使用GUI文件管理器。
要提取(解压缩)tar.xz文件,只需右键单击要提取的文件,然后选择“提取”。
Windows用户需要一个名为7zip的工具来提取tar.xz文件。
要获得更详细的输出,请使用'-v'选项。
此选项告诉'tar'显示在终端上提取的文件的名称。
tar -xvf archive.tar.xz
默认情况下,“ tar”将存档内容提取到当前工作目录中。
要提取特定目录中的存档文件,请使用'--directory'('-C')。
以下示例显示了如何将存档内容提取到“/home/theitroad/files”目录中:
tar -xf archive.tar.xz -C /home/theitroad/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'将打印更多信息,例如所有者,文件大小,时间戳..etc:
tar -tvf archive.tar.xz
-rw-r--r-- theitroad/users 0 2017-02-15 01:19 file1 -rw-r--r-- theitroad/users 0 2017-02-15 01:19 file2 -rw-r--r-- theitroad/users 0 2017-02-15 01:19 file3