Сжатие файлов с помощью команды pack
Команда pack сжимает файл или файлы, указанные в параметре Файл, по алгоритму кодирования Хафмана.
В результате сжатия исходный файл будет заменен на упакованный файл с именем, основанным на имени исходного файла (Файл.z), и теми же режимами доступа и датами обращения и изменения. Имя исходного файла должно состоять не более чем из 253 байтов, чтобы к нему можно было добавить суффикс .z. В случае успешного выполнения команды pack исходный файл будет удален.
Для разворачивания файлов применяется команда unpack.
Если команда pack не может сократить размер файла, то обработка прекращается и выдается сообщение о том, что сократить объем занимаемого пространства невозможно. (Чаще всего такое происходит с небольшими файлами или с файлами с равномерным распределением символов.) Эффективность упаковки зависит от размера исходного файла и распределения символов. Поскольку в начале каждого файла .z записана структура расшифровки, при сжатии файлов размером менее трех блоков место на диске не экономится. Текстовые файлы обычно уменьшаются на 25-40 процентов.
Значение возврата для команды pack - это количество файлов, которые не удалось упаковать. Упаковка не выполняется в следующих случаях:
- Файл уже сжат.
- Размер имени файла превышает 253 байта.
- Для файла созданы связи.
- Вместо файла указан каталог.
- Не удалось открыть файл.
- Упаковка не приведет к сокращению размера файла.
- Уже существует файл с именем Файл.z.
- Не удалось создать файл .z.
- Во время обработки произошла ошибка ввода-вывода.
pack chap1 chap2Файлы chap1 и chap2 будут заменены на упакованные версии chap1.z и chap2.z.
Команда pack укажет, насколько сократился размер каждого файла в процентах.Сведения о синтаксисе приведены в описании команды pack книги Справочник по командам, том 4.