压缩命令有大小限制吗?

压缩命令有大小限制吗?

该命令运行后是否有任何特定的大小限制compress

据我所知,对于 0 字节文件,该compress命令不起作用。但是今天我尝试在UNIX中使用命令压缩字节大小为27字节的文件compress,但没有压缩。该文件保持不变。

答案1

这取决于文件中的内容(, 大致)。给定完全随机的内容compress实际上会使文件变得更大,并且大多数实现将拒绝执行任何操作(-v选项通常会告诉你这一点)。

在我必须手头的实现中,完全包含零字节的文件将被压缩到至少 8 个字节。我认为这是大小限制,低于该大小,压缩文件开头的幻数和基本的“重复这 N 次”指令比任何输入都长。

考虑到更有用的分布式内容(如文本),它的变化非常显着,但阈值至少会达到数十字节。我不希望压缩 27 字节的文本文件,而任意 27 字节的二进制文件则更不可能。

1当然,从技术上来说,它是随机的,所以......

答案2

称呼

compress -f your_file_to_compress

迫使compress行为按可预测的方式进行。

这是一个非常令人不快的功能 -compress有时决定任意保留文件不变,但不幸的是副作用是文件保留其原始名称并且不会更改为.Z.

我更倾向于说任性地任意地。如果您从脚本调用compress,然后计算扩展名为 的文件的存在.Z,您可能会感到非常不愉快的惊讶。

相关内容