使用 pack 命令压缩文件
使用 pack 命令使用 Huffman 编码以压缩格式存储由 File 参数指定的一个或多个文件。
输入文件由压缩文件替换,该压缩文件的名称从原文件名(File.z)派生,并与原文件有相同的访问方式、访问和修改日期以及所有者。 输入文件名包含不超过 253 个字节,以允许有空间添加 .z 后缀。 如果 pack 命令成功执行,原始文件就被除去。
使用 unpack 命令将已压缩的文件恢复为其原始格式。
如果 pack 命令不能创建较小的文件,那么它停止处理并报告不能节省空间。 (无法节省空间一般发生于小文件或具有统一字符分发的文件。) 节省的空间量取决于输入文件的大小和字符频率分布。 因为解码树构成了每个树的第一部分。z 文件,您不会使用小于三个块的文件来节省空间。 通常,文本文件减小百分之 25 到 40。
pack 命令的退出值是它不能压缩的文件的数量。 在任何以下条件下不能进行压缩:
- 文件已压缩。
- 输入文件名包含的字节数大于 253。
- 文件有链接。
- 文件是一个目录。
- 文件无法打开。
- 压缩未节省存储块。
- 名为 File.z 的文件已存在。
- 无法创建 .z 文件。
- 处理期间发生 I/O 错误。
例如,要压缩文件 chap1 和 chap2,请输入以下命令:
pack chap1 chap2此命令将压缩 chap1 和 chap2,并用名为 chap1.z 和 chap2.z 的文件替换它们。 pack 命令会显示每个文件的压缩百分比。