Главная >> Инструкции >> Как распаковать bz2 Linux

Как распаковать bz2 Linux

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

После этого в действие вступает bzip2, сжимая готовый файл вида *.tar и присваивая ему название *.tar.bz2 либо *.tbz2. В этой статье мы расскажем вам распаковать bz2 linux с помощью команды tar.


Содержание статьи

Как распаковать bz2 в Linux

1. Обычная распаковка bz2

В большинстве дистрибутивов Linux утилита tar установлена «из коробки». Поэтому для распаковки файлов из архива tar.bz2 достаточно открыть терминал и ввести команду tar с использованием опций --extract (сокращенно -x), которая непосредственно указывает на действие с архивом, а также -f, после которой следует название архива. В некоторых случаях может понадобиться sudo в начале строки.

tar -x -j -f archive.tar.bz2

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

Чтобы видеть, какие именно файлы были извлечены, понадобится опция -v, а строка в терминале будет выглядеть так:

tar -xvf archive.tar.bz2

По умолчанию tar извлекает файлы в текущую директорию (как правило, это домашняя папка). Чтобы назначить другое место, куда будет помещено содержимое архива, нужно использовать опцию -С (--directory). Например, для директории /user/losst/new-folder запись должна быть такой:

tar -xjf archive.tar.bz2 -C /home/losst/new-folder

2. Выбор файлов для распаковки

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

tar -xjf archive.tar.bz2 file1 file2

Когда внутри архива содержатся папки, а требуемые файлы расположены внутри них, придется указывать не только названия, но и полный путь к файлам. Просмотреть структуру архива можно с помощью опции --list (-t) — как это сделать будет рассказано ниже.

Извлечение определенных папок происходит по аналогичной схеме:

tar -xjf archive.tar.bz2 dir1 dir2

При попытке извлечь файл, которого нет в архиве, появится сообщение об ошибке.

Для извлечения группы файлов, в названиях которых есть один и тот же элемент, существует опция --wildcards. Групповым символом шаблона служит звездочка, а сам шаблон необходимо выделять кавычками. Вот пример для извлечения документов, которые имеют расширение odt:

tar -jf archive.tar.bz2 --wildcards '*.odt'

3. Распаковка в потоке

Извлекая сжатые файлы из tar.bz2 с использованием стандартного ввода нужно указывать опцию -j. Она указывает на то, что файл был сжат именно bz2.

В данном примере исходные файлы Vim загружаются при помощи команды wget с последующим выводом в команду tar:

wget -c ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2 -O - | sudo tar -xj

Если опция -j не будет указана, tar сообщит об этом и укажет способ исправления ошибки примерно так tar: Archive is compressed. Use -j option.

4. Просмотр структуры архива

Для просмотра структуры архива tar bz2 linux предназначена опция --list (-t):

tar -tf archive.tar.bz2

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

tar -tvf archive.tar.bz2

Выводы

Tar дает огромный выбор возможностей для распаковки архивов tar.bz2. Мы постарались рассказать о них как можно подробнее, но если у вас возникают какие-то сложности с использованием опций tar в терминале, задавайте свои вопросы в комментариях.

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (8 оценок, среднее: 4,50 из 5)
Загрузка...
Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

5 комментариев к “Как распаковать bz2 Linux”

  1. Не претендую на истину в последней инстанции, но хочу отметить следующий момент.

    Многие пользователи Линукса пришли из лагеря Виндоуса. В Виндовсе термины "упаковка", "архивирование" и "сжатие" обозначают одно действие -- создание сжатого файла, содержащего один или несколько файлов и/или папок. Степень сжатия может быть разная -- от несжатого совсем до максимального. Но как правило сжатие происходит. Отсюда у Виндовс-пользователей выработалось стойкое понятие, что "упаковка", "архивирование" и "сжатие" -- это одно и тоже. Только разными словами.

    В Линуксе всё немножко иначе. В Линуксе понятия "упаковка" и "архивирование" обозначают только объединение нескольких файлов и директориев в один файл. Про сжатие информации ничего не говориться, оно вообще отсутствует как класс. Это сложилось исторически давным давно, в эпоху UNIX-а и больших накопителей на магнитной ленте. В те времена ни о каких компрессорах/декомпрессорах не было и речи. А вот понятие "сжатие" обозначает именно уменьшение объёма информации. Сжатие происходит обычно после архивирования. Но поскольку эти два раздельных процесса (архивирование и сжатие) выполняются для Линукс-пользователя за одну команду, создаётся ложное представление, что В Линуксе всё работает точно так же, как в Виндоусе.

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

    Всем добра!

    Ответить
    • стоит иметь ввиду, что операционные системы на базе ядра *Linux* многогранны и решают несколько видов типовых задач, если говорить об упаковке и сжатии. наследие - это tar и целый набор компрессоров, которые tar умеет подключать налету. но архивирование при помощи *tar* имеет место, когда вы уверены, что ваш архив будет использован именно в *Linux* окружении. и обстоятельства не всегда складываются так. иногда ваш архив должен быть легко и просто распакован в других средах... (зло не упоминаю всуе.) и на этот случай любая операционная система на базе *Linux* имеет целый ряд архиваторов, а именно: zip, 7z, rar etc. эти архиваторы не сохраняют нативные для *Linux* атрибуты файлов, но их архивы без труда распаковываются на других системах. (зло не упоминаю всуе). так вот в этом случае упаковка и сжатие имеет тот же самый характер как и в зле, и выполняется одним единственным процессом. поэтому расставляя точки над i стоит смотреть по сторонам и различать все детали и частности.

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

      Ответить

Оставьте комментарий