zip -9压缩不会减小文件大小

时间:2016-01-27 23:24:34

标签: linux zip

我有一个文件,我想压缩成一个zip存档,但是这是通过Amazon SES自动发送的,有时会因以下情况而拒绝该电子邮件:

这似乎意味着电子邮件大于10MB的限制。 zip存档目前使用标准的6级压缩创建,我想将其更改为使用最大压缩(级别9),但它似乎不会更改存档大小。

原始(第6级)命令:

zip standard.zip somefile.txt 
  adding: somefile.txt (deflated 42%)

尝试(第9级)命令:

zip -9 9.zip somefile.txt 
  adding: somefile.txt (deflated 42%)

结果:

-rw-rw-r-- 1 ec2-user ec2-user 5.0M Jan 27 23:20 standard.zip
-rw-rw-r-- 1 ec2-user ec2-user 5.0M Jan 27 23:19 9.zip

正如您可以从我在Amazon Linux上的AWS EC2实例上运行的结果中可以看出的那样。

我预计9.zip档案要小得多,我做错了什么?

此外,如果更改压缩级别对于此过程的用例不是真正的问题,则会影响性能。

该文件必须是.zip文件,收件人不是另一种存档格式。

1 个答案:

答案 0 :(得分:1)

  

我预计9.zip档案要小得多,我做错了什么?

你所做错的是期望最高级别的zlib压缩能够在最佳中等水平上提供显着的压缩。这根本不是真的,可以凭经验证明。高度可压缩的数据已经在第6级很好地压缩非常,并且不可压缩的数据不会从第9级以任何明显的方式受益。

如果你真的想要压缩它,那么你可以使用针对Zopfli构建的zip工具而不是zlib,但是期望压缩需要更长时间。