Skip to main content

Bunzip2 - команда Linux

Linux команда find - команда поиска файлов. (Июнь 2026)

Linux команда find - команда поиска файлов. (Июнь 2026)
Anonim

НАЗВАНИЕ

bzip2, bunzip2 - блок-сортировочный файловый компрессор, v1.0.2bzcat - распаковывает файлы в stdoutbzip2recover - восстанавливает данные из поврежденных файлов bzip2

СИНТАКСИС

bzip2 -cdfkqstvzVL123456789 имена файлов … bunzip2 -fkvsVL имена файлов … bzcat -s имена файлов … bzip2recover имя файла

ОПИСАНИЕ

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 filename.bz становится filename filename.tbz2 становится filename.tar filename.tbz становится filename.tar anyothername становится anyothername.out

Если файл не заканчивается одним из признанных окончаний, .bz2, .bz, .tbz2 или же .tbz, bzip2 жалуется, что он не может угадать имя исходного файла и использует оригинальное имя с .из прилагается.

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

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

Вы также можете сжать или распаковать файлы на стандартный вывод, указав флаг -c. Несколько файлов могут быть сжаты и распакованы следующим образом. Результирующие выходы последовательно подаются на stdout. Сжатие нескольких файлов таким образом создает поток, содержащий несколько сжатых представлений файлов. Такой поток можно корректно декомпрессировать только bzip2 версии 0.9.0 или новее. Более ранние версии bzip2 остановится после распаковки первого файла в потоке.

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

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

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

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

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

ОПЦИИ

-c --stdout

Сжимайте или декомпрессируйте до стандартного вывода.

-d --decompress

Силовая декомпрессия. bzip2, bunzip2 а также bzcat на самом деле одна и та же программа, и решение о том, какие действия следует предпринять, делается на основе того, какое имя используется. Этот флаг переопределяет этот механизм и усиливает bzip2 для распаковки.

-z --compress

Дополнение к -d: принудительное сжатие, независимо от имени вызова.

-t -test

Проверьте целостность указанного файла (ов), но не распаковывайте их. Это действительно делает пробную декомпрессию и отбрасывает результат.

-f --force

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

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

-k --keep

Хранить (не удалять) входные файлы во время сжатия или декомпрессии.

-s - маленький

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

Во время сжатия -s выбирает размер блока 200 тыс., Что ограничивает использование памяти примерно на том же рисунке за счет коэффициента сжатия. Короче говоря, если ваша машина разряжена (8 мегабайт или менее), используйте -s для всего. См. «Управление памятью» ниже.

-q --quiet

Подавлять несущественные предупреждающие сообщения. Сообщения, относящиеся к ошибкам ввода-вывода и другим критическим событиям, не будут подавляться.

-v --verbose

Подробный режим - отображение степени сжатия для каждого обработанного файла. Далее -v увеличивает уровень детализации, извергая большую часть информации, которая в первую очередь представляет интерес для диагностических целей.

-L --license -V --версия

Отобразите версию программного обеспечения, условия лицензии.

-1 (или --fast) до -9 (или -best)

Установите размер блока до 100 k, 200 k .. 900 k при сжатии. Не имеет эффекта при распаковке. См. «Управление памятью» ниже. Имена fast и -best в первую очередь совместимы с GNU gzip. В частности, - fast не делает вещи значительно быстрее. И --best просто выбирает поведение по умолчанию.

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

--repetitive-fast -repetitive-best

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

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

Статьи по Теме

  • Команда Linux: сжатие
  • Примеры использования командной оболочки Linux Команда «bzip2»