Linux 中的 Zip/gzip 压缩率远低于 Windows 中的

Linux 中的 Zip/gzip 压缩率远低于 Windows 中的

我有一堆非常大的文件位于Linux我想压缩并节省一些空间。我尝试使用tar/gzip组合,我注意到压缩率不是很好。一个1.2GB文件被压缩成一个1.1GB文件。我尝试按照此处的建议增加压缩级别:使用 tar -zcvf 时如何指定压缩级别?

但情况仍然没有好转。我把同一个文件复制到视窗机器并在其上运行 WinRar。生成的压缩文件只有0.45GB大小。

如此巨大的差异是为什么呢?有没有更好的 Linux 压缩工具?

更新:我甚至尝试过 lzma,但效果仍然不太好

答案1

Gzip与...相比,这不是一个很好的算法rar 格式

目前 Linux 中更常见的方法是bzip2它几乎在所有的 Linux 发行版上都是默认安装的。

您可以tar通过将命令行更改为 来切换归档器以使用 bzip2 压缩,而tar -cvjf不是将选项中 的键tar -cvzf替换为。zj

这有望显著提高压缩比。

造成这种差异的原因在于它们是完全不同的压缩算法。Gzip 是一种较旧的算法,较旧的算法往往计算量较少,因此它们可以在合理的时间内完成。这是更易获得的处理能力的结果,可以使用更好、计算量更大的算法,这些算法在较旧的计算机上完成的时间与较旧的算法相似。相反,较旧的算法在较新的计算机上完成压缩的速度要快得多。

几乎任何 Windows 归档程序在 Linux 上都有对应版本。 7zip是一款出色的归档程序,在 Windows 上效果良好,并且有一个非官方的 Linux 版本。

相关内容