在 Unix/Linux 中,压缩实用程序 (gzip/compress) 可以压缩的文件大小是否有任何最大限制。我记得几年前在 gzip 页面中提到它可以压缩最大 4 GB 的文件。实际上我需要定期压缩大约 512 GB 的文件。我用压缩实用程序测试了几个文件,发现压缩前和解压后的 DB 文件的哈希码 (MD5) 是相同的。
答案1
gzip
现在可以压缩大小超过 4 GiB 的文件,而且事实上它本身没有任何限制(您将受到底层文件系统的限制)。大于 4 GiB 的文件的唯一限制是gzip -l
,在 1.11 或更早版本中,无法正确报告其大小;看计算大型 GZIPPED 文件未压缩大小的最快方法作为替代方案。这已在gzip
1.12 中修复;gzip -l
解压缩数据以确定原始数据的实际大小,而不是显示存储的大小。
答案2
Gzip 是可串联的流压缩(请参阅手册页中的“高级用法”),因此如果算法达到硬编码限制 (*),它可以结束当前流并启动新流。
因此 gzip 本身对数据大小没有硬性限制
(*我不太了解Xflate
是否有限制)