
Команда tar позволяет создавать и распаковывать tar-архивы. Она поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress.
Bzip2 — один из самых популярных алгоритмов сжатия tar-файлов. Имя tar-архива, сжатого с помощью bzip2 , обычно заканчивается на .tar.bz2 или .tbz2 .
В этом руководстве мы объясним, как извлечь (или распаковать) архивы tar.bz2 и tbz2 с помощью команды tar .
Извлечение файла tar.bz2
Большинство дистрибутивов Linux и macOS поставляются с предустановленной по умолчанию утилитой tar .
Чтобы извлечь файл tar.bz2, используйте опцию --extract ( -x ) и укажите имя файла архива после опции -f :
tar -xf archive.tar.bz2
Команда tar автоматически определяет тип сжатия и извлекает архив. Эту же команду можно использовать для извлечения tar-архивов, сжатых другими алгоритмами, такими как .tar.gz или .tar.xz .
Если вы пользователь настольного компьютера и командная строка вам не по душе, воспользуйтесь файловым менеджером. Чтобы извлечь (распаковать) файл tar.bz2, просто щёлкните правой кнопкой мыши по нему и выберите «Извлечь». Пользователям Windows для извлечения файлов tar.bz2 потребуется утилита 7zip .
Для более подробного вывода используйте опцию -v . Эта опция указывает tar отображать имена извлекаемых файлов в терминале.
tar -xvf archive.tar.bz2
По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте параметр --directory ( -C ), чтобы извлечь файлы архива в указанный каталог:
Например, чтобы извлечь содержимое архива в каталог /home/linuxize/files , введите:
tar -xf archive.tar.bz2 -C /home/linuxize/files
Извлечение определенных файлов из файла tar.bz2
Чтобы извлечь определенный файл(ы) из файла tar.bz2, добавьте после имени архива список имен файлов, которые необходимо извлечь, разделенный пробелами:
tar -xf archive.tar.bz2 file1 file2
При извлечении файлов необходимо указать их точные имена, включая путь, как они выводятся при использовании параметра --list ( -t ).
Извлечение одного или нескольких каталогов из архива аналогично извлечению нескольких файлов:
tar -xf archive.tar.bz2 dir1 dir2
При попытке извлечь файл, которого нет в архиве, появится сообщение об ошибке, похожее на следующее:
tar -xf archive.tar.bz2 README
tar: README: Not found in archive tar: Exiting with failure status due to previous errors
Параметр --wildcards позволяет извлекать файлы из файла tar.bz2 по шаблону-шаблону. Шаблон должен быть заключен в кавычки, чтобы оболочка не смогла его интерпретировать.
Например, чтобы извлечь только файлы, имена которых заканчиваются на .md (файлы Markdown), можно использовать:
tar -xf archive.tar.bz2 --wildcards '*.md'
Извлечение файла tar.bz2 из stdin
При извлечении сжатого файла tar.bz2 путём чтения архива со стандартного ввода (обычно через конвейер) необходимо указать параметр распаковки. Параметр -j сообщает tar , что файл сжат с помощью bzip2.
В примере ниже мы загружаем исходные коды Vim с помощью команды wget и передаем ее вывод команде tar :
wget -c ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2 -O - | sudo tar -xj
Если вы не укажете параметр распаковки, tar покажет вам, какой параметр следует использовать:
tar: Archive is compressed. Use -j option tar: Error is not recoverable: exiting now
Листинг tar.bz2 Файл
Чтобы вывести список содержимого файла tar.bz2, используйте опцию --list ( -t ):
tar -tf archive.tar.bz2
Вывод будет выглядеть примерно так:
file1 file2 file3
Если добавить опцию --verbose ( -v ), tar выведет дополнительную информацию, такую как владелец, размер файла, временная метка и т. д.:
tar -tvf archive.tar.bz2
-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file1 -rw-r--r-- linuxize/users 0 2019-02-15 01:19 file2 -rw-r--r-- linuxize/users 0 2019-02-15 01:19 file3
Заключение
Файл tar.bz2 — это архив Tar , сжатый с помощью Bzip2. Чтобы извлечь файл tar.bz2, используйте команду tar -xf указав после неё имя архива.
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства