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' - 文件大小比以前大的主要内容,如果未能解决你的问题,请参考以下文章

windows 命令提示符 zip/compress 目录

linux下打包命令的使用

Linux命令zip命令

7zip使用相关

linux tar.gz zip 解压缩 压缩命令

为啥 7-zip 不解码 zlib.compress() 编码的内容?