PACK(1)

НАЗВАНИЕ
pack - упаковка файлов

СИНТАКСИС


     pack  [-] [-f] файл ...

ОПИСАНИЕ
Команда pack предпринимает попытку сохранить указанные файлы в сжатой форме, то есть упаковать информацию. Когда только возможно (и имеет смысл), каждый входной файл заменяется упакованным вариантом с именем файл.z, который имеет тот же режим доступа, те же даты доступа и модификации, того же владельца. Опция -f вызывает принудительную упаковку файла. Она используется для того, чтобы упаковать весь каталог, даже если для некоторых файлов это невыгодно. Если команда выполняется успешно, то исходный файл удаляется. Упакованные файлы могут быть преобразованы в свою первоначальную форму с помощью команд unpack(1) или pcat(1).

Командой pack используется метод кодирования Хаффмана (с минимальной избыточностью) на побайтной основе. Если используется опция -, то устанавливается внутренний флаг, определяющий выдачу на стандартный вывод количества использований каждого байта, относительную частоту использования и код для байта. Дополнительное задание опции - на месте аргумента файл устанавливает и сбрасывает этот внутренний флаг.

Итоговая степень сжатия зависит от размера исходного файла и от распределения частоты символов. Так как дерево декодировки занимает начало каждого упакованного .z-файла, то обычно не стоит упаковывать файлы, размер которых менее трех блоков, если только распределение частоты символов не является очень неравномерным, что может иметь место в случае чертежа или картинки.

Обычно текстовые файлы уменьшаются до 60-75% от своего первоначального размера. Загрузочные модули, в которых используется более широкое множество символов и в которых распределение символов более равномерно, подвергаются меньшему сжатию; размер упакованной версии файла составляет примерно 90% от первоначального.

Команда pack возвращает значение, равное числу файлов, которые не удалось упаковать.

В следующих случаях упаковки файла не происходит:

  1. Файл уже упакован.
  2. Имя файла состоит более чем из 12 символов.
  3. На файл есть ссылки.
  4. Файл является каталогом.
  5. Файл не может быть открыт.
  6. Упаковка не сэкономит дисковое пространство.
  7. Файл с именем файл.z уже существует.
  8. .z-файл не может быть создан.
  9. Ошибка ввода/вывода по время выполнения упаковки.

Простое имя файла не должно состоять более чем из 12 символов, чтобы можно было добавить расширение .z. Каталоги упаковывать нельзя.

СМ. ТАКЖЕ
cat(1), pcat(1), unpack(1).