如何提取(解压缩)Tar Bz2文件

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

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

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

提取tar.bz2文件#

大多数Linux发行版和macOS随附 柏油 默认情况下预先安装的实用程序。

要提取tar.bz2文件,请使用 --extract-x)选项,然后在 -f 选项:

tar -xf archive.tar.bz2

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

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

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

tar -xvf archive.tar.bz2

默认, tar 将从当前工作目录中提取存档内容。 使用 --directory-C)提取特定目录中的存档文件:

例如,将存档内容提取到 /home/linuxize/files 目录,您将输入:

tar -xf archive.tar.bz2 -C /home/linuxize/files

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

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

tar -xf archive.tar.bz2 file1 file2

解压缩文件时,必须提供其确切名称,包括路径,如路径 --list-t)选项。

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

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

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

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

从stdin中提取tar.bz2文件

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

在下面的示例中,我们使用以下命令下载Vim源代码: wget 命令并将其输出通过管道传递给 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文件#

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

tar -tf archive.tar.bz2

输出将如下所示:

file1
file2
file3

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

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

结论#

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

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

焦油终端

Sidebar