为什么我的 .tar.gz 比其中单独压缩的文件的总和还要大?

为什么我的 .tar.gz 比其中单独压缩的文件的总和还要大?

我观察到了以下令我有些意外的情况:

我有一个 csv 文件和一个对应的 txt 文件。未压缩时,它们的大小分别为 375MB 和 5KB。

  • 当我使用标准设置压缩 csv 文件时gzip,其大小会减小到 95MB。所以总共有 ~ 95MB。
  • 当我将两个文件捆绑到一个 tarball 中,然后使用gzip标准设置压缩它们时,最终得到 189MB。

据我所知,压缩后的 tarball 应该比压缩后的 csv 文件 + txt 文件小,因为这样就gzip可以从存档中的所有文件中搜索冗余。我知道这对于我的具体情况来说并不重要,因为 txt 文件太小了。

但是,.tar.gz 的大小不应该与压缩的 csv + txt 文件大致相同吗?就我而言,它的大小是原来的两倍多……

我想避免多层存档/压缩,但仍想实现良好的压缩。我遗漏了什么吗?

相关内容