Bzip2
Материал из Википедии — свободной энциклопедии
- Правильный заголовок этой статьи — bzip2. Он показан некорректно из-за технических ограничений.
bzip2 — популярный компрессор с открытым исходным кодом, также алгоритм сжатия данных, разработанные Джулианом Сьюардом (англ. Julian Seward). Впервые опубликован Сьюардом в июле 1996, версия 0.15. Стабильность и популярность компрессора росли в течении нескольких лет и версия 1.0 была опубликована в конце 2000 года.
Содержание |
[править] Эффективность архиватора
bzip2 сжимает большинство файлов эффективнее, чем более традиционные gzip или ZIP, но медленнее. В этом отношении он похож на другие современные алгоритмы сжатия. Но в отличие от других форматов, таких как RAR или ZIP, bzip2 является только компрессором данных, а не архиватором. Сама программа не может работать с несколькими файлами, шифрованием или разбитием на тома, вместо этого она согласно традициям UNIX зависит от отдельных внешних утилит, таких как tar (для работы со множеством файлов) и GnuPG (для шифрования).
В некоторых случаях bzip2 проигрывает форматам 7z и RAR по абсолютной эффективности сжатия. Согласно автору, bzip2 проигрывает от 10 до 15 процентов наилучшему классу алгоритмов сжатия данных, известных на данный момент (PPM), хотя и примерно в два раза быстрее при сжатии и в 6 раз быстрее при распаковке.
bzip2 использует преобразование Барроуза-Уилера (англ. Burrows-Wheeler transform, сортировка блоков) для превращения последовательностей многократно чередующихся символов в строки одинаковых символов, затем применяет преобразование MTF (англ. move-to-front), и в конце кодирование Хаффмана. Блоки в bzip2 имеют одинаковый размер в несжатом потоке. Размер блока можно выбрать при помощи аргумента командной строки, и он помечается в сжатом тексте произвольно выбранной последовательностью битов представления числа Пи.
Изначально, предшественик bzip2, программа bzip использовала арифметическое кодирование после сортировки блока. От него отказались из-за ограничений патента.
[править] Использование
В Unix, bzip2 можно использовать как в комбинации с tar так и отдельно: bzip2 file для сжатия и bzip2 -d file.bz2 для распаковки (также можно использовать альтернативное название bunzip2 и не указывать опцию -d).
Аргументы командной строки bzip2 в основном такие же, как и у gzip. Так, для распаковки bzip2-сжатого tar-файла:
bzip2 -cd имяархива.tar.bz2 | tar -xvf -
Для создания bzip2-сжатого tar-файла:
tar -cvf - файлы | bzip2 -9 > имяархива.tar.bz2
Версия GNU tar поддерживает флаг -j, который позволяет создавать tar.bz2 файлы без использования перенаправлений ввода-вывода (англ. pipeline):
tar -cvjf имяархива.tar.bz2 списокфайлов
Распаковка в GNU tar:
tar -xvjf имяархива.tar.bz2
[править] См. также
[править] Внешние ссылки
- Домашняя страница bzip2 и libbzip2
- Поиск bzip2 в Aminet (версии Bzip2 для Amiga)
- bzip2 для ОС Windows
- Поиск bzip2 в Hobbes (версии Bzip2 для OS/2)
- MacBzip2 (для классической Mac OS; для Mac OS X обычный bzip2 доступен в командной строке)
- bzip2smp (реализация bzip2 для паралельной работы на многопроцессорных или многоядерных компьютерах)
- Введение в Bzip2