bzip2
bzip2 — бесплатная свободная утилита командной строки (а также алгоритм) с открытым исходным кодом для сжатия данных.
Разработана и впервые опубликована Джулианом Сьюардом (англ. Julian Seward) в июле 1996 (версия 0.15). Стабильность и популярность компрессора росли в течение нескольких лет, и версия 1.0 была опубликована в конце 2000 года.
Эффективность
В соответствии с традициями UNIX‐программирования, bzip2 выполняет только одну функцию: сжатие или распаковка одного файла. При этом к названию файла по умолчанию добавляется .bz2
. Для упаковки нескольких файлов их обычно сперва архивируют в один файл утилитой tar, и затем уже сжимают при помощи bzip2. Такие архивы обычно в конце имени имеют .tar.bz2
.
bzip2 сжимает большинство файлов эффективнее, но медленнее, чем более традиционные gzip или ZIP. В этом отношении он похож на другие современные алгоритмы сжатия.
В некоторых случаях bzip2 проигрывает архиваторам 7-Zip (LZMA) и RAR по абсолютной эффективности сжатия. Согласно автору, bzip2 проигрывает от 10 до 15 процентов наилучшему классу алгоритмов сжатия данных, известных на данный момент (PPM)[1], но при этом в два раза быстрее при сжатии и в 6 раз быстрее при распаковке.
bzip2 использует преобразование Барроуза-Уилера (англ. Burrows-Wheeler transform, сортировка блоков) для превращения последовательностей многократно чередующихся символов в строки одинаковых символов, затем применяет преобразование MTF (англ. move-to-front), и в конце кодирование Хаффмана. Блоки в bzip2 имеют одинаковый размер в несжатом потоке. Размер блока можно выбрать при помощи аргумента командной строки, и он помечается в сжатом тексте произвольно выбранной последовательностью битов представления числа Пи.
Предшественник bzip2, программа bzip, использовала арифметическое кодирование после сортировки блока. От него отказались из‑за патентных ограничений.
Использование
bzip2 можно использовать как в комбинации с tar, так и отдельно: bzip2 file
для сжатия и bzip2 -d file.bz2
для распаковки (вместо bzip2 -d можно использовать альтернативное название bunzip2).
Аргументы командной строки bzip2 в основном такие же, как и у gzip. Так, для распаковки архива tar, сжатого bzip2:
bzip2 -cd имяархива.tar.bz2 | tar -xvf -
Для создания сжатого bzip2 архива tar:
tar -cvf - файлы | bzip2 -9 > имяархива.tar.bz2
Версия GNU tar поддерживает флаг -j, который позволяет создавать и распаковывать tar.bz2 файлы без использования перенаправлений ввода-вывода (англ. pipeline):
tar -cvjf имяархива.tar.bz2 списокфайлов
Распаковка tar-архива, сжатого bzip2 при помощи GNU tar:
tar -xvjf имяархива.tar.bz2
Современные версии GNU tar имеют функцию автоматического распознавания типа архива, и поэтому можно написать:
tar xvf имяархива.tar.bz2
Примечания
См. также
Ссылки
- Официальный сайт bzip.org (англ.)
- Введение в bzip2 (англ.)
- bzip2 для Windows (англ.)
- MacBzip2 для классической Mac OS (в Mac OS X bzip2 встроен) (англ.)
- Поиск bzip2 для OS/2 (англ.)
- bzip2smp (англ.) (реализация bzip2 для параллельной работы на многопроцессорных или многоядерных компьютерах)
Форматы архивов (сравнение по типу) |
|
---|---|
Только архивирование | ar • cpio • shar • tar • LBR |
Только сжатие | bzip2 • compress • gzip • LZMA • LZW • lzop • rzip • SQ • XZ |
Архивирование и сжатие | 7z • ACE • ARC • ALZip • ARJ • Cabinet • cpt • DAR • dd • DGCA • .dmg • GCA • kgb • LHA • LZX • PAQ • RAR • qda • sit • SQX • zoo • ZIP |
Упаковка и распространение ПО | deb • pkg • RPM • MSI • JAR (WAR • RAR (Java) • EAR) |
ar:بزيب2 ca:Bzip2 cs:Bzip2 de:Bzip2 en:Bzip2 es:Bzip2 fa:بیزیپ۲ fr:Bzip2 it:Bzip2 ja:Bzip2 ko:Bzip2 nl:Bzip2 pl:Bzip2 pt:Bzip2 sv:Bzip2 tr:Bzip2 uk:Bzip2 zh:Bzip2
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....