bzip2 — высокая степень сжатия ценой скорости

We use cookies. Read the Privacy and Cookie Policy

Программа bzip2 Джулиана Сюарда похожа на программу gzip, но использует иной алгоритм, который обеспечивает более высокую степень сжатия ценой снижения скорости работы. Во многих отношениях она действует точно так же, как gzip. Файл, сжатый с помощью bzip2, получает расширение .bz2:

[me@linuxbox ~]$ ls -l /etc > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-r--r-- 1 me me 15738 2012-10-17 13:51 foo.txt

[me@linuxbox ~]$ bzip2 foo.txt

[me@linuxbox ~]$ ls -l foo.txt.bz2

-rw-r--r-- 1 me me 2792 2012-10-17 13:51 foo.txt.bz2

[me@linuxbox ~]$ bunzip2 foo.txt.bz2

Как видите, bzip2 можно использовать так же, как gzip. Все параметры программы gzip (кроме -r), представленные выше, поддерживаются также программой bzip2. Но имейте в виду, что параметр степени сжатия (-число) имеет несколько иной смысл для bzip2. В паре с bzip2 поставляются программы bunzip2 и bzcat для распаковывания файлов.

Существует также программа bzip2recover для восстановления поврежденных файлов формата .bz2.

не превращайтесь в одержимых манией сжатия

Мне иногда приходится видеть, как кто-то пытается сжать файл, уже сжатый с применением эффективного алгоритма сжатия, выполняя нечто подобное:

$ gzip picture.jpg

Это напрасная трата времени и дискового пространства! Если применить процедуру сжатия к уже сжатому файлу, зачастую получается файл большего размера. Это объясняется тем, что все методики сжатия добавляют в файл некоторую служебную информацию, описывающую сжатие. Если попытаться сжать файл, не содержащий избыточной информации, сжатие не приведет к экономии места, которая могла бы покрыть расходы на хранение служебной информации.