[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]

Руководство пользователя: Операционная система и устройства


Сжатие файлов (команды compress и pack)

Перед сохранением файла его можно сжать с помощью Команда compress или Команда pack. Для распаковки сжатых файлов служат команды Команда uncompress и Команда unpack. Разумеется, сжатие и развертывание файлов отнимает время, но зато позволяет сэкономить место на носителе.

Существует несколько способов сжатия файловой системы:

Существует много причин, по которым целесообразно сжимать файлы, однако эти причины можно разделить на две большие группы:

Команда compress

Команда compress сокращает размер файлов по алгоритму кодирования Lempel-Zev. Каждый исходный файл, указанный в параметре Файл, будет заменен на сжатый файл, к имени которого будут добавлены символы .Z. Сжатый файл наследует принадлежность, режимы доступа и даты обращения и изменения от исходного файла. Если файлы не указаны, то команда преобразует стандартный ввод в стандартный вывод. Если сжатие не сокращает размер файла, то в стандартный протокол ошибок будет занесено сообщение, и исходный файл заменен не будет.

Сжатые файлы можно вернуть в первоначальное состояние с помощью команды uncompress.

Объем сжатия зависит от размера файла, количества битов на код, указанного в переменной Биты, и распределения часто встречающихся строк. Как правило, в результате сжатия исходный код или английский текст сокращается на 50-60 процентов. Команда compress обычно сжимает эффективнее и быстрее, чем команда pack, применяющая алгоритм кодирования Хаффмана.

Например, для сжатия файла foo и записи результата сжатия в процентах в стандартный протокол ошибок введите:

compress -v foo

Нажмите Enter.

Полный синтаксис приведен в описании команды compress в книге AIX 5L Version 5.1 Commands Reference.

Команда pack

Команда pack сжимает файл или файлы, указанные в параметре Файл, по алгоритму кодирования Хаффмана. В результате сжатия исходный файл будет заменен на упакованный файл с именем, основанным на имени исходного файла (Файл.z), и теми же режимами доступа и датами обращения и изменения. Имя исходного файла должно состоять не более чем из 253 байтов, чтобы к нему можно было добавить суффикс .z. В случае успешного выполнения команды pack исходный файл будет удален. Упакованные файлы можно вернуть в первоначальное состояние с помощью команды unpack.

Если команда pack не может сократить размер файла, то обработка прекращается и выдается сообщение о том, что сократить объем занимаемого пространства невозможно. (Чаще всего такое происходит с небольшими файлами или с файлами с равномерным распределением символов.) Эффективность упаковки зависит от размера исходного файла и распределения символов. Поскольку в начале каждого файла .z записана структура расшифровки, при сжатии файлов размером менее трех блоков место на диске не экономится. Текстовые файлы обычно уменьшаются на 25-40 процентов.

Значение возврата для команды pack - это количество файлов, которые не удалось упаковать. Упаковка не выполняется в следующих случаях:

Например, для упаковки файлов chap1 и chap2 введите:

pack chap1 chap2

Нажмите Enter.

Файлы chap1 и chap2 будут заменены на упакованные версии chap1.z и chap2.z. Команда pack укажет, насколько сократился размер каждого файла в процентах.

Дополнительная информация и полный синтаксис приведены в описании команды pack в справочнике AIX 5L Version 5.1 Commands Reference.


[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]