Linux 上最好的压缩工具
Linux 系统并不缺乏可用的压缩工具。拥有如此多的选择最终是一件好事,但它也可能会令人困惑,并使选择用于您自己的文件的压缩方法变得更加困难。更复杂的是,没有客观上适合每个用户或系统的最佳工具,我们将解释原因。
当谈到压缩时,我们需要关注两个基准。一是节省了多少空间,二是压缩过程发生的速度。另一件需要考虑的事情是某种压缩工具的普及程度。例如,如果您知道需要在 Windows 系统上打开存档,则将文件打包为 .zip 存档而不是 .tar.gz 会更合适。相反,.tar.gz 存档在 Linux 上更有意义,因为 tar 文件保存文件权限。
在本指南中,我们将介绍最流行的 Linux 发行版上提供的各种压缩工具。我们将比较它们的压缩比、速度和其他特性。在本指南结束时,您将获得足够的信息来为任何给定场景选择最佳的压缩工具。
在本教程中您将学习:
各种压缩实用程序的基准测试结果
如何进行自己的测试来测量压缩比和速度
根据兼容性选择压缩实用程序
使用 7zip(我们测试的获胜者)对目录的压缩结果进行基准测试
压缩工具基准测试
为了比较各种可用的压缩工具,我们将尝试压缩视频游戏安装。视频游戏安装包括各种各样的音乐、视频、文本、可执行文件和其他文件类型。这些测试旨在给出每个压缩工具与下一个压缩工具相比的总体平均值。视频游戏是一个很好的基准,因为它们包含大量不同格式的数据。
基准测试结果
我们将压缩星球大战银河战场的安装,在压缩之前其大小为790 MB。让我们看看我们可以将这些文件压缩到什么程度。
Compression Method | File Size | Time Elapsed |
---|---|---|
gzip | 591 MB | 2:27 |
bzip2 | 567 MB | 8:57 |
xz | 534 MB | 15:27 |
zip | 591 MB | 2:23 |
rar | 541 MB | 5:24 |
7zip | 531 MB | 8:41 |
基准结论
正如您所看到的,7zip 为我们提供了最佳的压缩比,甚至比其他生成更大文件的方法花费的时间更少。
您应该对这些测试持保留态度,因为根据压缩文件的类型,您可能会得到不同的结果。根据系统硬件的不同,所花费的时间也会有很大差异。
此外,一些压缩方法有额外的选项来进一步提高压缩比或速度。例如,gzip 默认使用 6 级压缩,但可以一直达到 9 级。这可能会为您节省一些额外的兆字节,但也会花费您的系统更长的时间来完成这项工作。相反,较小的数字将产生更快的结果,但压缩程度较低。
我们的结果绝对应该让您对每种压缩方法的功效有一个总体印象,但请随意使用您自己的系统和您选择的文件来复制我们的测试。这可以帮助您确定最适合我们的工具是否也是最适合您的工具。
我们使用每个压缩命令及其默认选项。我们还使用了 time
和 nice
Linux 命令来帮助我们分别测量经过的时间并提高压缩过程的 CPU 优先级。为了准确地反映我们的测试命令,正确的语法如下所示:
$ sudo time nice -n -20 tar -czvf archive.tar.gz game-directory
当然,为您想要测试的每个实用程序替换不同的压缩命令。我们在这里为大多数压缩方法编写了指南。如果您需要更多帮助以及示例命令等,请务必查看它们。
tar 命令在我们的 tar 指南中有解释。
Linux 命令实用指南中介绍了 gzip 和 bzip2。
Linux 上的 xz 压缩初学者指南中介绍了 xz。
如何在 Linux 上使用 zip 中介绍了 zip。
rar 在使用 RAR 归档工具压缩文件中进行了介绍。
还有比我们在这里介绍的更多的实用程序,例如如何使用 pbzip2 执行更快的压缩中介绍的 pbzip2。
兼容性怎么样?
我们在基准测试中无法衡量一个重要的方面,即压缩格式的兼容性。您需要牢记您的目标受众。例如,tar 文件在 Linux 上运行良好,因为它们保留文件权限。另外,Linux 用户通常非常熟悉 tar 文件以及如何打开它们,无论它们是使用 gzip、bzip2 还是 xz 压缩的。
对于 Windows 系统,您会发现与 zip 文件具有更好的兼容性。这种格式在 Linux 上也能正常工作,并且几乎总是可以在本机打开。 RAR 和 7zip 不太流行,但已经足够普及,大多数用户可能都可以打开它们。
如有疑问,最好坚持使用广泛接受的文件格式并处理额外的文件大小。如果您的情况不需要兼容性,那么您只需考虑压缩比和速度即可。
结束语
在本指南中,我们对 Linux 中使用的各种压缩工具进行了比较,并进行了基准测试,以确定哪些工具在压缩率和速度方面最有效。您还学习了如何在自己的系统上执行类似的测试,因为文件格式和系统硬件对压缩结果有巨大影响。
Linux 默认情况下附带了许多压缩实用程序,但我们的指南应该可以帮助您节省时间,选择最适合您情况的压缩实用程序。我们使用 Ubuntu Linux 机器进行测试,发现大多数压缩实用程序都是预安装的。根据您的 Linux 发行版,您可能会发现需要自己安装其中一些实用程序。不要忘记查看我们之前提到的指南以获得额外帮助。