如何使用“bzip2”来压缩文件

你所知道的关于Linux的一件事是有很多种。 有数百种Linux发行版,数十种桌面环境,多种办公套件,图形软件包和音频软件包。

Linux提供的另一个领域是压缩文件。

Windows用户将已经知道一个zip文件是什么,因此将使用“ zip ”和“ unzip ”命令来压缩和解压缩“zip”格式的文件。

另一种压缩文件的方法是使用“gzip”命令并使用“gz”扩展名解压文件,您可以使用“gunzip”命令。

在本指南中,我将向您展示另一个名为“bzip2”的压缩命令。

为什么要使用" bzip2" Over" gzip&#34 ;?

“gzip”命令使用LZ77压缩方法。 “bzip2”压缩工具使用“Burrows-Wheeler”算法。

那么你应该使用哪种方法来压缩文件?

如果您访问此页面,您会看到两种压缩方法并排匹配。

测试使用默认的压缩设置运行每个命令,您将看到“bzip2”命令在减少文件大小方面名列前茅。

但是,如果查看压缩文件所需的时间,则需要花费更长的时间。

值得指出的是图表上标有“lzmash”的第三列。 这相当于在压缩级别设置为“-9”的情况下运行“gzip”命令或使用英语“最压缩”来运行。

默认情况下,“lzmash”命令比“gzip”命令花费的时间更长,但文件大大减少,并且小于“bzip2”等价物。 还值得注意的是,这样做需要更少的时间。

因此,您的决定将取决于您希望压缩多少文件以及您愿意等待文件发生多久。

无论哪种方式,在这两种情况下,“gzip”命令都稍好一些。

使用" bzip2"压缩文件

要使用“bzip2”格式压缩文件,请运行以下命令:

bzip2文件名

该文件将被压缩,现在将具有扩展名“.bz2”。

即使文件变得更大,“bzip2”也会一直尝试和压缩文件。 当您压缩已被压缩的文件时,可能会发生这种情况。

如果您尝试压缩一个文件,该文件将导致与现有压缩文件具有相同名称的文件,则会发生错误。

例如,如果您有一个名为“file1”的文件,并且该文件夹已经有一个名为“file1.bz2”的文件,那么在运行“bzip”命令时,您将看到以下输出:

bzip2:输出文件file1.bz2已经存在

如何解压缩文件

有许多不同的方法来解压缩带有“bz2”扩展名的文件。

您可以使用“bzip2”命令,如下所示:

bzip2 -d filename.bz2

这将解压缩文件并删除“bz2”扩展名。

如果通过解压缩该文件将导致具有相同名称的文件被覆盖,您将看到以下错误:

bzip2:输出文件的文件名已经存在

使用“bz2”扩展名解压缩文件的更好方法是使用“bunzip2”命令。 使用此命令,您不需要指定任何开关,如下所示:

bunzip2文件名.bz2

“bunzip2”命令的运行方式与使用减号d(-d)开关的“bzip2”命令完全相同。

“bunzip2”命令可以提取使用“bzip”或“bzip2”压缩的任何有效文件。 除了解压缩普通文件外,它还可以解压缩使用“bzip2”命令压缩过的tar文件。

默认情况下,使用“bzip2”命令压缩的tar文件的扩展名为“.tbz2”。 当您使用“bunzip2”命令解压缩此文件时,文件名变为“filename.tar”。

如果你有一个有“bzip2”压缩的有效文件,但它的扩展名不同于“bzip2”,则会解压该文件,但会在文件末尾添加“.out”扩展名。 例如“myfile.myf”将变成“myfile.out”。

如何强制文件被压缩

如果您希望“bzip2”命令压缩文件而不管是否已经存在带有“bz2”扩展名的文件,那么您可以使用以下命令:

bzip2 -f myfile

如果你有一个名为“myfile”的文件,另一个名为“myfile.bz2”,那么当“myfile”被压缩时,“myfile.bz2”文件将被覆盖。

如何保留这两个文件

如果要保留要压缩的文件和压缩文件,可以使用以下命令:

bzip2 -k myfile

这将保留“myfile”文件,但也会压缩它并创建一个“myfile.bz2”文件。

您还可以使用带有“bunzip2”命令的minus k(-k)开关在解压文件时保留压缩文件和未压缩文件。

测试A" bz2" 文件

您可以使用以下命令测试文件是否使用“bzip2”压缩机制进行压缩:

bzip2 -t filename.bz2

如果该文件是有效的文件,则不会返回任何输出,但如果文件无效,您将收到一条消息。

压缩文件时使用较少的内存

如果在压缩文件时“bzip2”命令使用的资源太多,则可以通过指定minus s(-s)开关来减少影响,如下所示:

bzip2 -s filename.bz2

请注意,使用此开关压缩文件需要更长的时间。

压缩文件时获取更多信息

默认情况下,当您运行“bzip2”或“bunzip2”命令时,您不会收到任何输出,并且刚刚出现新文件。

如果您想知道压缩或解压缩文件时发生了什么,可以通过指定minus v(-v)开关来获得更详细的输出 ,如下所示:

bzip2 -v文件名

输出将显示如下:

文件名:1.172:1在42961中,6.872位/字节14.66%保存为50341

重要的部分是保存的百分比,输入大小和输出大小。

恢复损坏的文件

如果您有一个破损的“bz2”文件,那么用于尝试恢复数据的程序如下所示:

bzip2recover filename.bz2