压缩实用程序最大文件大小限制 | Unix/Linux

压缩实用程序最大文件大小限制 | Unix/Linux

在 Unix/Linux 中,压缩实用程序 (gzip/compress) 可以压缩的文件大小是否有任何最大限​​制。我记得几年前在 gzip 页面中提到它可以压缩最大 4 GB 的文件。实际上我需要定期压缩大约 512 GB 的文件。我用压缩实用程序测试了几个文件,发现压缩前和解压后的 DB 文件的哈希码 (MD5) 是相同的。

答案1

gzip现在可以压缩大小超过 4 GiB 的文件,而且事实上它本身没有任何限制(您将受到底层文件系统的限制)。大于 4 GiB 的文件的唯一限制是gzip -l,在 1.11 或更早版本中,无法正确报告其大小;看计算大型 GZIPPED 文件未压缩大小的最快方法作为替代方案。这已在gzip1.12 中修复;gzip -l解压缩数据以确定原始数据的实际大小,而不是显示存储的大小。

还有许多其他压缩工具可以提供更好的压缩和/或速度,您可能会发现它们更合适:XZ,7-拉链...

答案2

Gzip 是可串联的流压缩(请参阅手册页中的“高级用法”),因此如果算法达到硬编码限制 (*),它可以结束当前流并启动新流。

因此 gzip 本身对数据大小没有硬性限制

(*我不太了解Xflate是否有限制)

相关内容