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