unix 命令 'zip' 或 'compress' - 文件大小比以前大
Posted
技术标签:
【中文标题】unix 命令 \'zip\' 或 \'compress\' - 文件大小比以前大【英文标题】:unix command 'zip' or 'compress' - file size is bigger than beforeunix 命令 'zip' 或 'compress' - 文件大小比以前大 【发布时间】:2020-11-19 16:37:48 【问题描述】:我想知道 unix shell 命令能做到这一点。 当我使用 unix 命令 zip 或压缩时,它会使文件大小比以前更大。 例如, 一个.tar
$compress -f a.tar
> a.tar.Z
a.tar 文件大小为 1131746050 a.tat.Z 文件大小为 1516269444
在我使用 zip 命令时也是如此。
我知道当文件比以前大时压缩命令不起作用,所以我使用了 -f 选项。 我的问题是为什么它更大? 我想知道 zip 或 compress 命令制作更大文件的原因...
【问题讨论】:
这可能比我能更好地解释它:superuser.com/questions/467697/… 你有你的答案,但我还应该提到,你看到的 degree 扩展(34%!)是由于compress
命令本身。对于已经压缩的数据,它的表现非常糟糕。另一方面,gzip
只会将压缩数据扩展约 0.016%,或者在您的情况下,仅在 1 GB 中增加约 180K 字节。
在我压缩之前我做了加密和 tar 命令。我没有压缩'和' gzip 双倍。我的意思是我想使用 compress 'OR' zip 命令。
加密数据应该看起来像随机位。但是随机位不能被压缩,所以你应该先压缩,然后加密。
【参考方案1】:
它可能已经被压缩,或者可能只是一个无法进一步压缩的文件。您不能无限压缩文件,否则您将丢失所有数据。因此,如果您再次尝试压缩它们,它所做的只是添加压缩数据,因此文件实际上会变大。
【讨论】:
我执行了 'tar' 命令,但没有使用 -z 选项。嗯..这个文件是加密文件。加密文件是造成这种情况发生的问题..? 某些类型的文件无法压缩。例如,无法压缩纯文本文件,因为您会丢失其中的数据。有时,丢失一些数据(例如图像)并不重要,它们只是损失了一点质量。但您不希望丢失文本文件等内容中的任何数据。以上是关于unix 命令 'zip' 或 'compress' - 文件大小比以前大的主要内容,如果未能解决你的问题,请参考以下文章