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

Bzip2是用于压缩tar文件的最受欢迎的算法之一。按照惯例,以 bzip2 压缩的tar归档文件的名称以 .tar.bz2 .tbz2 结尾。

在本教程中,我们将说明如何使用tar命令提取(或解压缩) tar.bz2 tbz2 归档文件。

解压缩tar.bz2文件

大多数Linux发行版和macOS都默认预安装了 tar 程序。

要提取tar.bz2文件,请使用--extract-x)选项,并在-f选项后指定存档文件名:

tar -jf archive.tar.bz2

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

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

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

tar -xvf archive.tar.bz2

默认情况下,tar将存档内容提取到当前工作目录中。使用--directory-C)提取到特定目录中:

例如,要将存档内容提取到/home/myfreax/files目录中,请键入:

tar -jf archive.tar.bz2 -C /home/myfreax/files

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

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

tar -jf archive.tar.bz2 file1 file2

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

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

tar -jf archive.tar.bz2 dir1 dir2

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

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

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

例如,要仅提取名称以.md结尾的文件(降价文件),可以使用:

tar -jf archive.tar.bz2 --wildcards '*.md'

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

当通过从标准输入(通常通过管道)读取档案提取压缩的tar.bz2文件时,必须指定解压缩选项。 -j选项告诉tar该文件已使用bzip2压缩。

在下面的示例中,我们使用 wget 命令下载Vim源并将其输出传递到tar命令:

wget -c ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2 -O - | sudo tar -xj

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

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

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

tar -tf archive.tar.bz2

输出将如下所示:

file1
file2
file3

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

tar -tvf archive.tar.bz2
-rw-r--r-- myfreax/users       0 2019-02-15 01:19 file1
-rw-r--r-- myfreax/users       0 2019-02-15 01:19 file2
-rw-r--r-- myfreax/users       0 2019-02-15 01:19 file3

结论

tar.bz2 文件是使用Bzip2压缩的 Tar存档。要提取tar.bz2文件,请使用tar -jf命令,后跟档案名称。

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

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持