tar
命令允许您创建,提取,解压缩tar存档文件。 它支持各种压缩程序,例如gzip
,bzip2
,lzip
,lzma
,lzop
,xz
和compress
压缩程序。
Bzip2是用于压缩tar文件的最受欢迎的压缩程序之一。按照惯例,以bzip2
压缩的tar存档文件的名称以.tar.bz2
或.tbz2
结尾。
本教程介绍如何使用tar
命令提取/解压缩.tar.bz2
或.tbz2
存档/压缩文件。包括使用文件管理器解压缩文件,解压缩文件到指定目录,仅提取或者解压缩指定的文件/目录,读取标准输入并解压缩存档文件,列出tar.bz2
所有文件内容。
如需要创建tar文件的存档,可以参考我们的教程如何在Linux使用tar
命令创建/提取tar文件。此教程几乎包括tar
命令日常使用选项与解释。
解压缩文件
tar
程序默认情况下预安装在所有Linux发行版和macOS上。要提取.tar.bz2
文件,请使用--extract
或者-x
选项调用tar
命令,并在-f
选项后指定存档文件名名称:
tar -jf archive.tar.bz2
tar
自动检测压缩类型并解压缩文件。 可以使用同一命令来解压缩使用其他压缩程序的tar存档文件,例如.tar.gz
存档文件和或.tar.bz
存档文件。
如果您不是命令行用户,则可以使用GUI文件管理器。 要提取或者解压缩.tar.bz2
文件,只需右键单击要提取的文件,然后选择提取
。 Windows用户需要一个名为7zip 的软件来提取或者解压缩.tar.bz2
文件。
要获得更详细的输出,请使用-v
选项。 此选项告诉tar
在终端上显示正在提取的文件的名称。
tar -xvf archive.tar.bz2
默认情况下,tar
提取存档中的文件到当前工作目录。 要提取或者解压缩到指定目录中,请使用--directory
或者-C
选项。以下示例显示如何将存档文件解压缩/提取到/home/myfreax/files
目录中:
tar -xf archive.tar.bz2 -C /home/myfreax/files
提取指定文件
要从.tar.bz2
文件中提取指定文件,请在存档文件按名称后附加要提取的文件名,多个文件以空格作为分隔符:
tar -xf archive.tar.bz2 file1 file2
提取文件时,必须提供其确切名称,包括使用--list
/-t
选项调用tar
时显示的路径。从存档中提取一个或多个目录与提取多个文件相同。提取多个目录命令如下所示:
tar -xf archive.tar.bz2 dir1 dir2
如果您尝试提取档案中不存在的文件,则会显示类似以下错误消息:
tar -xf archive.tar.bz2 README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
--wildcards
选项允许您基于通配符模式/正则表达式从.tar.bz2
文件中提取文件。 必须使用单引号对转义模式,以防止shell解释模式中的特殊符号。例如,要仅提取名称以.png
结尾的文件。可以使用以下命令:
tar -xf archive.tar.bz2 --wildcards '*.png'
读取标准输入
当通过从标准输入/管道读取存档文件并解压缩/提取.tar.bz2
文件时,必须指定解压缩选项。-J
选项告诉tar
使用xz压缩程序提取/解压存档文件。
在下面的示例中,我们使用wget
命令下载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.bz2文件的内容
要列出tar.bz2
存档文件所有文件内容,请使用--list
或者-t
选项:
tar -tf archive.tar.bz2
输出看起来像这样:
file1
file2
file3
如果添加--verbose
/-v
选项,则tar
将打印更多信息,例如所有者,文件大小,时间戳等:
tar -tvf archive.tar.bz2
-rw-r--r-- myfreax/users 0 2020-02-15 01:19 file1
-rw-r--r-- myfreax/users 0 2020-02-15 01:19 file2
-rw-r--r-- myfreax/users 0 2020-02-15 01:19 file3
结论
.tar.bz2
文件是使用xz压缩程序的Tar存档文件。要提取.tar.bz2
文件,请使用tar -jf
命令,后跟文件名称。如有任何疑问,请在下面发表评论。