Linux zip-9压缩不是';t减小文件大小

Linux zip-9压缩不是';t减小文件大小,linux,zip,Linux,Zip,我有一个文件,我想压缩成一个zip档案,但这是通过亚马逊SES自动发送的,有时电子邮件会被拒绝,原因如下: 这似乎意味着电子邮件超过了10MB的限制。zip归档文件目前是使用标准的6级压缩创建的,我想将其更改为使用最大压缩(9级),但是它似乎没有改变归档文件的大小 原始(6级)命令: 已尝试(9级)命令: 结果: -rw-rw-r-- 1 ec2-user ec2-user 5.0M Jan 27 23:20 standard.zip -rw-rw-r-- 1 ec2-user ec2-user

我有一个文件,我想压缩成一个zip档案,但这是通过亚马逊SES自动发送的,有时电子邮件会被拒绝,原因如下:

这似乎意味着电子邮件超过了10MB的限制。zip归档文件目前是使用标准的6级压缩创建的,我想将其更改为使用最大压缩(9级),但是它似乎没有改变归档文件的大小

原始(6级)命令:

已尝试(9级)命令:

结果:

-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
正如您可能从我使用AmazonLinux在AWSEC2实例上运行的结果中所看到的那样

我希望
9.zip
存档文件要小得多,我做错了什么

此外,对于此过程的用例来说,更改压缩级别并不是一个真正的问题时,性能将受到影响

文件必须是
.zip
文件,收件人不知道其他存档格式

我希望
9.zip
存档文件要小得多,我做错了什么

您所做的错误是期望最高级别的zlib压缩在最佳中等级别上提供显著的压缩。从经验上可以看出,这根本不是事实。高度可压缩的数据在6级时已经压缩得很好,而不可压缩的数据在9级时不会以任何明显的方式受益

如果您真的想对其进行大量压缩,那么您可以使用基于zlib构建的zip工具,而不是zlib,但压缩所需的时间要长得多

我希望
9.zip
存档文件要小得多,我做错了什么

您所做的错误是期望最高级别的zlib压缩在最佳中等级别上提供显著的压缩。从经验上可以看出,这根本不是事实。高度可压缩的数据在6级时已经压缩得很好,而不可压缩的数据在9级时不会以任何明显的方式受益

如果您真的想对其进行大量压缩,那么您可以使用基于zlib构建的zip工具,而不是zlib,但压缩所需的时间要长得多

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