Skip to main content

Использование 'bzip2' для сжатия файлов Linux

Хороший, свободный, бесплатный, архиватор #PeaZIP (Апрель 2025)

Хороший, свободный, бесплатный, архиватор #PeaZIP (Апрель 2025)
Anonim

Единственное, что вы знаете о Linux, - это то, что есть много разнообразия. Существуют сотни дистрибутивов Linux, с десятками настольных сред, несколькими офисными пакетами, графическими пакетами и аудио пакетами.

Другая область, где Linux предоставляет разнообразие, заключается в сжатии файлов.

Пользователи Windows уже знают, что такое zip-файл, поэтому команды «zip» и «unzip» будут использоваться для сжатия и распаковки файлов в формате «zip».

Другим методом сжатия файлов является использование команды «gzip» и для распаковки файла с расширением «gz» вы можете использовать команду «gunzip».

В этом руководстве я покажу вам еще одну команду сжатия, называемую «bzip2».

Зачем использовать 'bzip2' Over 'gzip'?

Команда gzip использует метод сжатия LZ77. Инструмент сжатия «bzip2» использует алгоритм «Burrows-Wheeler».

Итак, какой метод следует использовать для сжатия файла?

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

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

Стоит отметить третий столбец на диаграмме, который обозначен как «lzmash». Это эквивалентно выполнению команды «gzip» с уровнем сжатия, установленным на «-9», или для перевода на английский язык «наиболее сжатый».

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

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

В любом случае команда «gzip» немного лучше в обоих случаях.

Сжатие файлов с помощью 'bzip2'

Чтобы сжать файл с использованием формата «bzip2», выполните следующую команду:

bzip2 filename

Файл будет сжат и теперь будет иметь расширение ".bz2"

«Bzip2» всегда будет пытаться сжать файл, даже если в результате размер файла станет больше. Это может произойти, если вы сжимаете сжатый файл.

Если вы попытаетесь сжать файл, который приведет к тому, что файл будет иметь то же имя, что и существующий сжатый файл, произойдет ошибка.

Например, если у вас есть тип файла, называемый «file1», и папка уже имеет файл с именем «file1.bz2», то при запуске команды «bzip» вы увидите следующий вывод:

bzip2: выходной файл file1.bz2 уже существует

Как распаковать файлы

Существует много разных способов распаковки файлов с расширением «bz2».

Вы можете использовать команду «bzip2» следующим образом:

bzip2 -d filename.bz2

Это приведет к распаковке файла и удалению расширения «bz2».

Если при распаковке файла произойдет перезапись файла с тем же именем, вы увидите следующую ошибку:

bzip2: имя файла выходного файла уже существует

Более удобный способ распаковки файлов с расширением «bz2» - использовать команду «bunzip2». С помощью этой команды вам не нужно указывать какие-либо переключатели, как показано ниже:

bunzip2 filename.bz2

Команда «bunzip2» работает точно так же, как и команда «bzip2» с переключателем минус d (-d).

Команда «bunzip2» может извлечь любой допустимый файл, который был сжат с помощью «bzip» или «bzip2». Помимо распаковки обычных файлов, он также может распаковывать файлы tar, сжатые с помощью команды «bzip2».

По умолчанию tar-файлы, сжатые с помощью команды «bzip2», будут иметь расширение «.tbz2». Когда вы распаковываете этот файл с помощью команды «bunzip2», имя файла становится «filename.tar».

Если у вас есть допустимый файл, сжатый с помощью «bzip2», но у него другое расширение, чем «bzip2», он распакует файл, но добавит расширение «.out» в конец файла. Например, «myfile.myf» станет «myfile.out».

Как принудительно сжимать файлы

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

bzip2 -f myfile

Если у вас есть файл под названием «myfile», а другой - «myfile.bz2», тогда файл «myfile.bz2» будет перезаписан, когда «myfile» будет сжат.

Как сохранить оба файла

Если вы хотите сохранить сжатый файл и сжатый файл, вы можете использовать следующую команду:

bzip2 -k myfile

Это сохранит файл «myfile», но также сжимает его и создает файл «myfile.bz2».

Вы также можете использовать переключатель минус k (-k) с помощью команды «bunzip2» для хранения сжатого файла и несжатого файла при распаковке файла.

Проверьте действительность файла «bz2»

Вы можете проверить, сжат ли файл с помощью механизма сжатия «bzip2», используя следующую команду:

bzip2 -t filename.bz2

Если файл является допустимым файлом, то вывод не будет возвращен, но если файл недействителен, вы получите сообщение об этом.

Использование памяти при сжатии файлов

Если команда «bzip2» использует слишком много ресурсов при сжатии файла, вы можете уменьшить влияние, указав переключатель минус s (-s) следующим образом:

bzip2 -s filename.bz2

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

Получение дополнительной информации при сжатии файлов

По умолчанию, когда вы запускаете команды «bzip2» или «bunzip2», вы не получаете никакого вывода, и только что появляется новый файл.

Если вы хотите знать, что происходит при сжатии или распаковке файла, вы можете получить более подробный вывод, указав переключатель минус v (-v) следующим образом:

bzip2 -v filename

Выход будет выглядеть следующим образом:

filename: 1.172: 1 6.872 бит / байт 14.66% сохранено 50341 в 42961 out

Важными частями являются процентное сохранение, размер ввода и размер вывода.

Восстановление поврежденных файлов

Если у вас сломанный файл «bz2», то программа, используемая для восстановления и восстановления данных, выглядит следующим образом:

bzip2recover filename.bz2