lzop
Updated: 1.00
Index Return to Main Contents
НАЗВАНИЕ
lzop - сжимает или разжимает файлыРЕЗЮМЕ
lzop - это упаковщик файлов наподобие gzip. В lzop скорость сжатия выше за счёт большего размера архива.СИНТАКСИС
lzop [ команда ] [ параметры ] [ имя_файла ... ]lzop [-dxlthIVL19] [-qvcfFnNkU] [-o файл] [-p[путь]] [-S суффикс] [имя_файла ...]
ОПИСАНИЕ
lzop уменьшает размер указанных файлов. В тех случаях, когда это возможно, сжатие производится пофайлово с добавлением расширения .lzo, с сохранением оригинальных прав доступа, времени модификации и времени доступа к файлу. Если файлы не указаны, или указан "-" в качестве имени файла, lzop пытается сжимать стандартный ввод, передавая результат на стандартный вывод. lzop обрабатывает только обычные файлы. В частности, он игнорирует каталоги и символические ссылки.
Если полученное имя архива слишком длинно для файловой системы, lzop обрежет его.
Сжатые файлы разжимаются следующей командой: lzop -d. lzop -d берет список файлов из командной строки и распаковывает те файлы, имена которых заканчиваются на .lzo и содержимое которых начинается с правильного "магического числа", в файлы без этого расширения. lzop -d также распознает специальное расширение .tzo как более краткую запись для tar.lzo. При сжатии lzop использует расширение .tzo, если это необходимо, вместо усечения имени файла с расширением tar.
lzop сохраняет оригинальные имя файла, права и временные отметки в сжатом файле. Они могут быть использованы при распаковке файла с опцией -d. Это полезно, когда имя сжатого файла было обрезано или когда временные отметки не сохранились при перемещении файла.
При сжатии lzop сохраняет владельца, права доступа и временные отметки файлов. При распаковке lzop восстанавливает права доступа и временные отметки, если они присутствуют в сжатых файлах. Для более подробной информации смотрите описание опций -n, -N, --no-mode и --no-time.
lzop всегда сохраняет исходные файлы, если только вы не указали опцию -U.
Для сжатия lzop использует библиотеку сжатия LZO. Размер полученной сжатой информации зависит от размера сжимаемой информации и от распределения общих подстрок. Обычно текст типа исходного кода или английского текста сжимается до 40-50% от исходного размера, большие файлы обычно сжимаются намного лучше, чем маленькие. Скорость сжатия и распаковки как правило намного выше, чем у gzip, но степень сжатия хуже.
УРОВНИ СЖАТИЯ
lzop предлагает следующие уровни сжатия для алгоритма LZO1X:- -3
- уровень сжатия по умолчанию, обеспечивающий довольно быстрое сжатие. Замечание: уровни сжатия -2, -3, -4, -5 и -6 на данный момент эквивалентны - это может быть изменено в будущем.
- -1, --fast
- может быть немного быстрее в некоторых случаях - но в большинстве случаев вы не заметите разницы
- -7, -8, -9, --best
- эти уровни сжатия, в основном, предназначены для создания предварительно сжатых данных. Особенно скорость сжатия снижается при использовании -9
Распаковка производится очень быстро для всех уровней сжатия.
ОСНОВНЫЕ КОМАНДЫ
Если команда не задана, то lzop будет сжимать данные.- -#, --fast, --best
- Регулирует скорость сжатия, используя соответствующую цифру #, где -1 или --fast задает самый быстрый метод (меньшее сжатие), а -9 или --best задает самый медленный метод (лучшее сжатие). Уровень сжатия по умолчанию - -3.
- -d, --decompress, --uncompress
- Распаковка. Каждый файл будет размещен в тот же каталог, где находится сжатый файл.
- -x, --extract
- Извлекает сжатые файлы в текущий рабочий каталог. Синоним для `-dNp'.
- -t, --test
- Тест. Проверяет целостность сжатого файла.
- -l, --list
-
Отображает для каждого сжатого файла следующие поля:
method: алгоритм сжатия;
compressed: размер сжатого файла;
uncompr.: размер исходного файла;
ratio: степень сжатия;
uncompressed_name: имя исходного файла.В комбинации с опцией --verbose также выводятся следующие поля:
date & time: временная отметка исходного файлаПри использовании опции --name имя исходного файла, дата и время берутся из сжатого файла, если они были сохранены.
При указании --verbose также отображаются суммарные размеры всех файлов и их общая степень сжатия. При указании --quiet заголовок и строки с итоговыми значениями не отображаются.
Замечание: lzop определяет степень сжатия как размер_сжатого / оригинальный_размер.
- --ls, --ls=FLAGS
-
Отображает каждый сжатый файл в формате, подобном выводу ls -ln.
Распознаются следующие флаги:
F Добавляет `*' для выполняемых файлов.
G Подавляет отображение информации о группе.
Q Заключает имена файлов в двойные кавычки. - --info
- Отображает служебные заголовочные поля для каждого сжатого файла.
- -I, --sysinfo
- Отображает информацию о системе и выходит.
- -L, --license
- Отображает лицензию, под которой выпущен lzop, и выходит.
- -h, -H, --help
- Отображает краткую справку и выходит.
- -V
- Версия. Отображает номер версии и опции сборки и выходит.
- --version
- Версия. Отображает номер версии и выходит.
Замечание: -t имеет приоритет над -d, -l над -t, и т.д.
ПАРАМЕТРЫ
- -c, --stdout, --to-stdout
- Осуществляет выдачу на стандартный вывод. Если на входе было несколько файлов, то вывод будет состоять из последовательности независимо сжатых/разжатых частей. Объедините файлы перед сжатием для достижения лучшей степени сжатия.
- -o FILE, --output=ФАЙЛ
- Выдает результат в файл ФАЙЛ. Если на входе было задано несколько файлов, то вывод будет состоять из последовательности независимо сжатых/разжатых частей.
- -p, -pКАТАЛОГ, --path=КАТАЛОГ
- Записывает выходные файлы в каталог КАТАЛОГ вместо каталога, определяемого исходным файлом. Если КАТАЛОГ опущен, тогда запись осуществляется в текущий рабочий каталог.
- -f, --force
-
Заставляет lzop делать следующее:
- переписывать существующие файлы
- сжимать стандартный ввод, даже если он похож на терминал
- сжимать, осуществляя выдачу на стандартный вывод, даже если он похож на терминал
- допускать использование опции -c вместе с -UИспользование -f два или более раза делает возможным вдобавок к вышеуказанному следующее:
- сжимать файлы, которые уже имеют суффикс .lzo
- распаковывать файлы, которые не имеют верного суффикса
- предпринимать попытку обработки файлов с неизвестными заголовочными флагамиИспользовать осторожно.
- -F, --no-checksum
- Не сохраняет и не проверяет контрольную сумму распакованного файла при сжатии и распаковке. Это немного ускоряет производительность lzop (особенно при распаковке), но использование этой опции, как правило, не рекомендуется, т.к. при поврежденных архивах искажение данных может пройти незамеченным. Также, контрольная сумма всегда сохраняется при сжатии на одном из медленных уровней сжатия (-7, -8 или -9).
- -n, --no-name
- При распаковке не восстанавливает оригинальное имя файла при его наличии (лишь удаляет суффикс lzop из имени сжатого файла). Эта опция задается по умолчанию при работе в UNIX.
- -N, --name
- При распаковке восстанавливает имя оригинального файла при его наличии. Эта опция полезна для систем, имеющих ограничение на длину имени файла. Если оригинальное имя, сохраненное в сжатом файле, не подходит для данной файловой системы, то оригинальное имя файла преобразуется таким образом, чтобы полученное новое имя файла не конфликтовало с файловой системой. Эта опция задается по умолчанию на платформах DOS, Windows и OS/2.
- --no-mode
- Не восстанавливать оригинальные права доступа, сохраненные в сжатом файле, при распаковке.
- --no-time
- Не восстанавливать временные отметки, сохраненные в оригинальном файле, при распаковке.
- -S .suf, --suffix=.suf
- Использовать суффикс .suf вместо .lzo. Суффикс не должен содержать нескольких точек и специальных символов типа `*' и `+'. Следует воздержаться от использования суффиксов, отличных от .lzo, чтобы избежать путаницы при передаче файлов в другие системы.
- -k, --keep
- Не удалять исходные файлы. Эта опция установлена по умолчанию.
- -U, --unlink, --delete
- Удалять исходные файлы после успешной упаковки или распаковки. Будьте осторожны! Использование этой опции делает lzop похожим на gzip. Замечание: опция -k отменяет -U.
- --no-stdin
- Не пытаться читать со стандартного ввода. Эта опция необходима для работы из-под планировщика заданий (cron), который не имеет терминала. Имя файла `-' отменяет эту опцию.
- --no-warn
- Подавляет вывод всех предупреждений.
- --ignore-warn
- Подавляет вывод всех предупреждений и никогда не завершает работу с кодом выхода 2.
- -q, --quiet, --silent
- Подавляет вывод всех предупреждений и уменьшает степень детализации некоторых команд типа --list или --test.
- -v, --verbose
- Степень детализации. Отображает имя каждого сжимаемого или разжимаемого файла. Можно использовать несколько -v для увеличения детализации команд типа --list или --test.
- --
- Отмечает конец списка опций. Любое имя файла после -- не будет интерпретироваться как опция, даже если оно начинается с дефиса.
ПРОЧИЕ ПАРАМЕТРЫ
- --no-color
- Не использовать никаких цветовых управляющих последовательностей.
- --mono
- Подразумевать монохромный ANSI терминал. Эта опция используется по умолчанию в UNIX.
- --color
- Подразумевать цветной ANSI терминал или попробовать полноэкранный режим. Эта опция используется по умолчанию в DOS и в виртуальной консоли Linux.
- --intro
- Попробовать отобразить приятную начальную заставку и выйти. Требуется полноэкранный режим.
- --filter=НОМЕР
-
Редко используется. Перед сжатием предварительно обрабатывает данные, используя специальный "мультимедиа" фильтр для улучшения степени сжатия.
НОМЕР должен быть десятичным числом от 1 до 16 включительно. Использование фильтра немного замедляет и сжатие, и распаковку, а степень сжатия обычно не сильно улучшается... Однако в будущем могут быть добавлены более эффективные фильтры.
Вы можете попробовать --filter=1 с данными наподобие 8-битных звуковых файлов, --filter=2 с 16-битными звуковыми файлами или изображениями с глубиной цвета 16 бит, и т.д.
Обратная обработка во время распаковки производится автоматически.
- -C, --checksum
- Устаревшая. Только для совместимости со старыми версиями, т.к. lzop теперь использует контрольную сумму по умолчанию. В будущем эта опция может быть удалена.
РАСШИРЕННОЕ ИСПОЛЬЗОВАНИЕ
lzop позволяет вам гибко работать с файлами. Ниже приведено несколько примеров использования:режим одиночного файла: сжимает или распаковывает каждый файл по отдельности
создание
lzop a.c -> создать a.c.lzo
lzop a.c b.c -> создать a.c.lzo & b.c.lzo
lzop -U a.c b.c -> создать a.c.lzo & b.c.lzo и удалить a.c & b.c
lzop *.c
извлечение
lzop -d a.c.lzo -> восстановить a.c
lzop -df a.c.lzo -> восстановить a.c, переписав, если такой файл уже существует
lzop -d *.lzo
список
lzop -l a.c.lzo
lzop -l *.lzo
lzop -lv *.lzo -> отображать подробно
тестирование
lzop -t a.c.lzo
lzop -tq *.lzo -> не отображать лишней информации
потоковый режим: сжимает или распаковывает стандартный ввод на стандартный вывод
создание
lzop < a.c > y.lzo
cat a.c | lzop > y.lzo
tar -cf - *.c | lzop > y.ta r.lzo -> создать сжатый архив tar
извлечение
lzop -d < y.lzo > a.c
lzop -d < y.ta r.lzo | tar -xvf - -> распаковать архив tar
lzop -d < y.ta r.lzo | tar -tvf - -> вывести список файлов в архиве tar
список
lzop -l < y.lzo
cat y.lzo | lzop -l
тестирование
lzop -t < y.lzo
cat y.lzo | lzop -t
режим выдачи на стандартный вывод: сжимает или распаковывает, осуществляя выдачу на стандартный вывод
создание
lzop -c a.c > y.lzo
извлечение
lzop -dc y.lzo > a.c
lzop -dc y.ta r.lzo | tar -tvf - -> отобразить список файлов в архиве tar
архивный режим: сжатие/распаковка нескольких файлов в один архивный файл
создание
lzop a.c b.c -o sources.lzo -> создать архив
lzop -c *.c > sources.lzo -> другой способ создания архива
lzop -c *.h >> sources.lzo -> добавить файлы в архив
извлечение
lzop -dN sources.lzo
lzop -x ../src/sources.lzo -> извлечь в текущий каталог
lzop -x -p/tmp < ../src/sources.lzo -> извлечь в каталог /tmp
список
lzop -lNv sources.lzo
тестирование
lzop -t sources.lzo
lzop -tvv sources.lzo -> быть весьма многословным
Если вы хотите создать один архивный файл с несколькими частями, так, чтобы потом части можно было извлекать независимо, вам больше подойдет полноценный архиватор, например tar или zip. Последняя версия GNU tar поддерживает опцию --use-compress-program=lzop для прозрачного запуска lzop. lzop сделан как дополнение к tar, а не как его замена.
ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ
Переменная окружения LZOP может содержать набор настроек по умолчанию для lzop. Эти опции интерпретируются первыми и могут быть переназначены явным указанием в командной строке. Например:
для sh/ksh/zsh: LZOP="-1v --name"; export LZOP
для csh/tcsh: setenv LZOP "-1v --name"
для DOS: set LZOP=-1v --name
В VAX/VMS имя переменной окружения LZOP_OPT. Это сделано для того, чтобы избежать конфликтов с символьным набором, используемым для запуска программы.
Замечание: не все опции могут использоваться в переменной окружения - lzop сообщит вам.
СМОТРИ ТАКЖЕ
gzip(1), tar(1), bzip2(1)Готовые бинарные файлы для некоторых платформ скоро будут доступны с домашней страницы lzop.
см. http://www.oberhumer.com/opensource/lzop/
lzop использует для своей работы библиотеку сжатия данных LZO.
ДИАГНОСТИКА
Код выхода обычно 0; если произошла ошибка, код выхода будет 1. Если было выдано предупреждение, код выхода будет 2.Диагностика lzop сделана красноречивой.
ОШИБКИ
Обо всех ошибках, пожалуйста, немедленно сообщайте автору.АВТОР
Markus F.X.J. Oberhumer; http://www.oberhumer.com/mfx/pgp.phpАВТОРСКОЕ ПРАВО
На lzop и библиотеку сжатия данных LZO распространяется авторское право (C) 1996, 1997, 1998 Markus Franz Xaver Johannes Oberhumer.lzop и библиотека сжатия данных LZO распространяются на условиях Универсальной Общественной Лицензии GNU (GNU GPL).
ПЕРЕВОД
Перевод выполнен:Andrey Brindeew <abr@altlinux.ru> Alexandre Prokoudine <avp@altlinux.ru>
Index
- НАЗВАНИЕ
- РЕЗЮМЕ
- СИНТАКСИС
- ОПИСАНИЕ
- УРОВНИ СЖАТИЯ
- ОСНОВНЫЕ КОМАНДЫ
- ПАРАМЕТРЫ
- ПРОЧИЕ ПАРАМЕТРЫ
- РАСШИРЕННОЕ ИСПОЛЬЗОВАНИЕ
- ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ
- СМОТРИ ТАКЖЕ
- ДИАГНОСТИКА
- ОШИБКИ
- АВТОР
- АВТОРСКОЕ ПРАВО
- ПЕРЕВОД