压缩文件可以改善压缩率吗?
可以将一堆文件一起使用标准工具(例如gzip,bzip2,xz)改善压缩率吗? 我一直以为是这种情况,但从未对其进行过测试。如果我们将同一个20Mb文件的2个副本的随机字节放在一起,那么一个聪明的压缩程序将实现将整个tarball压缩到将近20Mb。 我刚刚尝试使用gzip,bzip2和xz压缩此实验,以压缩1)一个随机字节的文件,2)包含该文件两个副本的tarball,以及3)包含该文件两个副本的cat。在所有情况下,压缩都不会减小文件大小。对于情况1,这是预期的,但对于情况2和3,最佳结果是可以将40Mb的文件压缩到接近20Mb。对于压缩程序来说,这是很难理解的,特别是因为冗余是遥不可及的,所以我不希望有完美的结果,但我仍然认为会有一些压缩。 测试: dd if=/dev/urandom of=random1.txt bs=1M count=20 cp random1.txt random2.txt cat random1.txt random2.txt > random_cat.txt tar -cf randoms.tar random1.txt random2.txt gzip -k random* & bzip2 -k random* & xz -k random* & wait du -sh random* 结果: 20+0 records in 20+0 records out 20971520 bytes (21 MB) copied, …