是否可以使用gzip压缩非常大的文件(约30 GB)?


17

是否可以使用gzip压缩非常大的文件(约30 GB)?如果是这样,我应该使用哪些命令,开关和选项?

还是有另一个程序(最好是Ubuntu发行版中普遍可用的程序)可用于压缩/压缩非常大的文件?您对此有任何经验吗?


大多数核心压缩器是xz或并行版本pxz。pxz -9ve - <in >out.xz您将在PC上烤鸡,但结果大约是gzip结果的60%。为此,您需要大约7 GB。
— 彼得-恢复莫妮卡

Answers:


22

AFAIK没有大小限制gzip-至少不是30GB。当然,您需要在光盘上有压缩文件的空间,压缩时两个版本会同时存在。

bzip2 压缩文件(不仅是大文件:-)更好,但(有时很多)慢。


4
bzip2特别擅长压缩源代码(等等)。gzip也是通用的很好的竞争者。gzip在不同操作系统上的可用性优于bzip2
— jippie 2012年

bzip2是无损压缩吗?谢谢。
— 安德鲁(Andrew)

3
@Andrew是的,gzip / bzip2 / etc ...都是无损的。
— Renan 2012年

1
而且,还有pbzip-将使用多个CPU内核。但是仍然比gzip。
— 尼尔斯2012年

1
@Nils:在我的Ubuntu上只有pbzip2
— rubo77

8

如果您需要较高的压缩率,可以尝试lzma。它比bzip2更快,更高效,甚至可能比gzip更快(我不确定)

http://www.thegeekstuff.com/2010/06/lzma-better-compression-than-bzip2-on-unix-linux/


4
lzma现在不赞成使用xz。相同的算法,围绕它包装的文件格式有些不同(改进?)。LZMA比gzip慢,但是在最大速度下,它对诸如JSON数据之类的高度冗余的东西仍然是相当不错的压缩。(xz -0)
— 彼得·科德斯

3

如果您即将达到极限,请重新排列。代替:

gzip file

做:

gzip < file > file.gz

效果很好。


2

gzip格式表示输入大小以2 ^ 32为模,因此 --list选项报告4 GB及更大大小的未压缩文件的未压缩大小和压缩率不正确。

因此,采用bzip2(v1.0.2及更高版本)或xz。


如果只是gzip,则必须将文件分成较小的部分,每个部分最大4 Gb。
— 楔形文字2014年

有文件分割器可用于此。
— Vérace

那么,它不会有被分裂,它只是报告的大小将是错误的。
— Law 2016年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.