The tar
命令允许您创建和提取 tar 档案。它支持多种压缩程序,例如 gzip、bzip2、lzip、lzma、lzop、xz 和 compress。
Xz是一种基于LZMA算法的流行的文件压缩算法。按照约定,压缩后的 tar 存档的名称xz以任一结尾.tar.xz or .txz.
本文介绍了如何使用tar
提取(或解压缩)的命令.tar.xz or .txz档案。
The tar默认情况下,该实用程序已预安装在所有 Linux 发行版和 macOS 上。
要提取 tar.xz 文件,请调用tar
命令与--extract
(-x
) 选项并在后面指定存档文件名-f
option:
tar -xf archive.tar.xz
tar
自动检测压缩类型并提取存档。相同的命令可用于提取使用其他算法压缩的 tar 档案,例如.tar.gz
or .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 -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
The --wildcards
选项允许您根据通配符模式从 tar.xz 文件中提取文件。必须引用该模式以防止 shell 解释它。
例如,仅提取名称以以下结尾的文件.png
,你会使用:
tar -xf archive.tar.xz --wildcards '*.png'
通过从标准输入(通常通过管道)读取存档来提取压缩的 tar.xz 文件时,必须指定解压缩选项。这-J
选项告诉tar
该文件是用 xz 压缩的。
在下面的示例中,我们使用以下命令下载 Linux 内核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
将打印更多信息,例如所有者、文件大小、时间戳等:
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.xz 文件,请使用tar -xf
命令,后跟存档名称。
如果您有任何疑问,请在下面留言。