bunzip2 Linux Command

Команда Linux bunzip2 – это компрессор файлов с сортировкой блоков, который можно использовать для сжатия и распаковки данных, в зависимости от того, как вы их используете.

Когда вы самостоятельно выполняете команду bzip2 без каких-либо опций, система по умолчанию будет выполнять сжатие данных. bunzip2 распаковывается по умолчанию, а bzcat распаковывается в стандартный вывод.

Опции команд Bunzip2 для Linux

Список параметров команды bunzip2
Option Объяснение
-c –stdout Сжатие или распаковка до стандартного вывода.
-d –decompress Принудительная декомпрессия. bzip2, bunzip2 и bzcat – это действительно одна и та же программа, и решение о том, какие действия нужно предпринять, зависит от того, какое имя используется. Этот флаг переопределяет этот механизм и заставляет bzip2 распаковываться.
-z –compress Дополнение к -d: принудительное сжатие, независимо от имени вызова.
-t –test Проверять целостность указанных файлов, но не распаковывать их. Это действительно выполняет пробную декомпрессию и выбрасывает результат.
-f –force

Принудительная перезапись выходных файлов. Обычно bzip2 не перезаписывает существующие выходные файлы. Также вынуждает bzip2 разрывать жесткие ссылки на файлы, что в противном случае было бы невозможно.

bzip2 обычно отказывается распаковывать файлы, которые не имеют правильных байтов магического заголовка. Однако, если принудительно (-f), он пропустит такие файлы без изменений. Вот как ведет себя GNU gzip.


-k –keep Сохранять (не удалять) входные файлы во время сжатия или распаковки.
-s –small

Сокращение использования памяти для сжатия, распаковки и тестирования. Файлы распаковываются и тестируются с использованием модифицированного алгоритма, который требует только 2,5 байта на блок-байт. Это означает, что любой файл может быть распакован в 2300 КБ памяти, хотя примерно на половину нормальной скорости.

Во время сжатия -s выбирает размер блока 200 КБ, что ограничивает использование памяти примерно одним и тем же числом за счет вашей степени сжатия. Короче говоря, если на вашей машине недостаточно памяти (8 мегабайт или меньше), используйте -s для всего. См. УПРАВЛЕНИЕ ПАМЯТЬЮ ниже.


-q –quiet Подавить несущественные предупреждающие сообщения. Сообщения, относящиеся к ошибкам ввода-вывода и другим критическим событиям, не будут подавляться.
-v –verbose Verbose mode – показывает степень сжатия для каждого обработанного файла. Далее -v увеличивает уровень многословия, извергая много информации, которая в первую очередь представляет интерес для диагностических целей.
-L –license Показать версию программного обеспечения, условия лицензии.
-V –version Отображение версии программного обеспечения, условий лицензии.
-1 или -9

Установите размер блока 100 к, 200 к .. 900 к при сжатии. Не оказывает влияния при распаковке.

– быстро (псевдоним -1 ) и – лучше (псевдоним -9 ) в первую очередь для совместимости с GNU gzip. В частности, – быстро не делает вещи значительно быстрее. А – лучший просто выбирает поведение по умолчанию.

Обрабатывает все последующие аргументы как имена файлов, даже если они начинаются с тире. Это позволяет обрабатывать файлы с именами, начинающимися с тире, например: bzip2 – -myfilename .



– repetitive-fast и – repetitive-best избыточны в версиях 0.9.5 и выше. Они предоставили некоторый грубый контроль над поведением алгоритма сортировки в более ранних версиях, что иногда было полезно. 0.9.5 и выше имеют улучшенный алгоритм, который делает эти флаги неактуальными.

Используйте команду man (% man ), чтобы увидеть, как команда используется на вашем конкретном компьютере.

Больше информации на bunzip2

bzip2 сжимает файлы с использованием алгоритма сжатия текста с сортировкой блоков Burrows-Wheeler и кодированием Хаффмана. Сжатие обычно значительно лучше, чем при использовании более традиционных компрессоров на базе LZ77/LZ78, и приближается к характеристикам статистических компрессоров семейства PPM.

Параметры командной строки намеренно очень похожи на параметры GNU gzip, , но они не идентичны.

bzip2 ожидает список имен файлов, сопровождающих флаги командной строки.Каждый файл заменяется сжатой версией самого себя с именем «original_name.bz2». Каждый сжатый файл имеет ту же дату изменения, разрешения и, когда это возможно, право собственности на соответствующий оригинал, чтобы эти свойства можно было правильно восстановить во время распаковки.

Обработка имен файлов наивна в том смысле, что не существует механизма сохранения оригинальных имен файлов, разрешений, владельцев или дат в файловых системах, в которых отсутствуют эти концепции или которые имеют серьезные ограничения на длину имени файла, такие как MS-DOS.

bzip2 и bunzip2 по умолчанию не перезаписывают существующие файлы. Если вы хотите, чтобы это произошло, укажите флаг -f .

Если имена файлов не указаны, bzip2 сжимает от стандартного ввода до стандартного вывода. В этом случае bzip2 откажется записывать сжатый вывод в терминал, поскольку это было бы совершенно непонятно и, следовательно, бессмысленно.

bunzip2 (или bzip2 -d) распаковывает все указанные файлы. Файлы, которые не были созданы bzip2 , будут обнаружены и проигнорированы, и будет выдано предупреждение. bzip2 пытается угадать имя файла для распакованного файла из файла сжатого файла следующим образом:

  • filename.bz2 становится именем файла
  • filename.bz становится именем файла
  • filename.tbz2 становится filename.tar
  • filename.tbz становится filename.tar
  • anyothername становится anyothername.out

Если файл не заканчивается на одно из распознанных расширений файла – BZ2, BZ, TBZ2 или TBZ – bzip2 жалуется, что не может угадать имя исходного файла, и использует исходное имя с < эм> .out прилагается.

Как и в случае со сжатием, отсутствие имени файла приводит к распаковке из стандартного ввода в стандартный вывод.

bunzip2 правильно распакует файл, который является объединением двух или более сжатых файлов. Результатом является объединение соответствующих несжатых файлов. Также поддерживается проверка целостности ( -t ) объединенных сжатых файлов.

Вы также можете сжать или распаковать файлы в стандартный вывод, установив флаг -c . Несколько файлов могут быть сжаты и распакованы, как это. Полученные результаты поступают последовательно на стандартный вывод. Сжатие нескольких файлов таким способом генерирует поток, содержащий несколько представлений сжатых файлов.

Такой поток может быть правильно распакован только в bzip2 версии 0.9.0 или новее. Более ранние версии bzip2 остановятся после распаковки первого файла в потоке.

bzcat (или bzip2 -dc) распаковывает все указанные файлы в стандартный вывод.

bzip2 будет читать аргументы из переменных среды BZIP2 и BZIP, в указанном порядке и обрабатывать их до того, как аргументы будут считаны из командной строки. Это дает удобный способ предоставить аргументы по умолчанию.

Сжатие всегда выполняется, даже если сжатый файл немного больше исходного. Файлы размером менее 100 байтов имеют тенденцию к увеличению, поскольку механизм сжатия имеет постоянную служебную информацию в области 50 байтов. Случайные данные (включая выходные данные большинства файловых компрессоров) кодируются со скоростью около 8,05 бит на байт, что дает расширение около 0,5 процента.

В качестве самопроверки для вашей защиты bzip2 использует 32-битные CRC, чтобы убедиться, что распакованная версия файла идентична оригинальной. Это защищает от повреждения сжатых данных и от необнаруженных ошибок в bzip2 (надеюсь, очень маловероятно).

Вероятность того, что повреждение данных останется незамеченным, микроскопическая, примерно один шанс из четырех миллиардов на каждый обработанный файл. Имейте в виду, однако, что проверка происходит при распаковке, поэтому она может только сказать вам, что что-то не так. Это не может помочь вам восстановить исходные несжатые данные.

Вы можете использовать bzip2recover , чтобы попытаться восстановить данные из поврежденных файлов.

Оцените статью
Solutics.ru
Добавить комментарий