Формат tar.bz2 – один из самых популярных форматов для сжатия файлов в системах Linux. Когда вам необходимо сжать набор файлов и папок вместе и хранить их в компактном виде, этот формат является подходящим вариантом для выполнения этой задачи. Этот формат представляет собой tar-архив, сжатый с использованием алгоритма bzip2.
Что такое tar и почему это основной инструмент для работы с архивами в Linux?

В мире Linux и Unix, tar является одним из важнейших инструментов для управления файлами и архивами. Название “tar” происходит от сочетания двух слов Tape Archive (архив на ленте). Это связано с тем, что изначально он был разработан для архивирования файлов на магнитные ленты.
Если вам нужно объединить несколько файлов и папок, сохранить их, переместить или создать резервные копии, tar – это надежный и широко используемый выбор. Другими словами, “tarball” (tar-архив) – это архив, созданный с помощью tar, который подобен цифровой коробке, хранящей несколько файлов и каталогов вместе с их структурой, разрешениями и метаданными (владельцем, датой, уровнем доступа).
Распространенные варианты использования tar
- Резервное копирование и архивирование: когда вам нужно сохранить копию каталогов или проектов.
- Перенос между серверами или системами: поскольку tar-архив сохраняет всю структуру каталогов и разрешения, перенос между серверами становится проще и надежнее.
- Сжатие вместе с архивированием: комбинируя tar с программами сжатия, такими как gzip или bzip2, можно сохранять или передавать архивы меньшего размера.
Что такое bzip2? Высокоэффективное сжатие в Linux

tar и bzip2 дополняют друг друга: когда необходимо сжать и архивировать несколько файлов или папок, обычно сначала создается архив с помощью tar, а затем он сжимается с помощью bzip2. bzip2 сам по себе является инструментом сжатия, а не архиватором. Поэтому он не может напрямую упаковывать несколько файлов и папок. Главное преимущество bzip2 перед более старыми вариантами, такими как gzip или ZIP, заключается в том, что он сжимает файлы с более высокой степенью сжатия, делая их меньше.
Следовательно, если ваша цель – хранение больших архивов с минимальным возможным объемом (например, для резервного копирования или архивирования проектов), bzip2 является подходящим выбором.
Как извлечь (распаковать) файл tar.bz2 в Linux?

Прежде чем извлечь файлы из архива, можно просмотреть список файлов с помощью следующей команды:
tar -tf file.tar.bz2
Опция -t отображает содержимое, а -f указывает имя файла архива. Если вы хотите увидеть больше информации, такой как размер файла, дата и права доступа, вы можете использовать опцию -v:
tar -tvf file.tar.bz2
Это отобразит информацию, такую как тип разрешений, владелец, размер и дата создания каждого файла в выводе.
Извлечение (распаковка) архива tar.bz2

Для полной распаковки архива достаточно ввести следующую команду:
tar -xf file.tar.bz2
Команда tar автоматически определяет, что архив сжат с помощью bzip2, и выполняет процесс распаковки соответствующим образом.
Если вы хотите извлечь файлы, отображая их имена, используйте опцию -v:
tar -xvf file.tar.bz2
По умолчанию файлы извлекаются в текущую директорию. Если вы хотите извлечь их в определенную папку, вы можете использовать опцию -C:
tar -xf file.tar.bz2 -C /path/to/destination
Извлечение части файлов или папок из архива

Иногда требуется извлечь из архива только определенные файлы или папки, а не все. В этом случае:
tar -xf file.tar.bz2 dir1/file1 dir2
В этой команде dir1/file1 и dir2 – это точные пути к файлам и папкам внутри архива.
Извлечение из stdin

Если вы скачиваете файл tar.bz2 непосредственно из интернета и не хотите сначала сохранять его, вы можете извлечь его напрямую, комбинируя инструменты для скачивания и tar. Например:
wget -O - | tar -xj
В этом методе вывод wget направляется в tar через pipe, а опция -j указывает tar, что архив сжат с помощью bzip2.
Создание нового архива tar.bz2

Если вам нужно сжать и архивировать файлы или папки, используйте следующую команду:
tar -cjf files.tar.bz2 folder1 folder2 file1
-c: создание архива-j: использование сжатия bzip2-f: указание имени файла архива
Например, с помощью этой команды все содержимое folder1, folder2, а также file1 будут помещены в файл files.tar.bz2.
Формат tar.bz2 представляет собой комбинацию упаковки (tar) и сжатия (bzip2), что делает его очень подходящим для больших архивов или коллекций файлов. С помощью утилиты tar в Linux можно легко:
- Просмотреть содержимое архива перед извлечением
- Полностью извлечь архив
- Извлечь только определенный файл или папку из архива
- Создать новый архив со сжатием bzip2
Если вы знакомы с этими концепциями, управление сжатыми файлами и архивами на серверах или в личных системах станет намного проще и профессиональнее.
«`html «`