Для работы с архивами в Linux используется утилита
tar.Многие по привычке заучивают разные флаги сжатия для каждого формата (
-z, -j, -J), однако в современном Linux всё гораздо проще.💡 Главный лайфхак: универсальная команда
Современный GNU
tar умеет автоматически определять алгоритм сжатия по содержимому файла. Вам больше не нужно запоминать специальные ключи под каждый формат!Чтобы распаковать любой архив (.tar, .tar.gz, .tar.bz2, .tar.xz, .tar.zst, .tgz, .txz), достаточно одной универсальной команды:
tar -xvf archive.tar.gzРазбор базовых ключей:
-x (eXtract) — извлечь файлы из архива-v (Verbose) — показывать список извлекаемых файлов в консоли (опционально)-f (File) — указать путь к файлу архива (обязательно должен идти последним перед именем файла)✔️ Распаковка в конкретную папку (-C)
По умолчанию
tar распаковывает содержимое в текущую директорию. Чтобы извлечь файлы в другой каталог, используйте ключ -C (--directory):tar -xvf archive.tar.xz -C /path/to/target_dir/⚠️ Указанная директория должна существовать заранее,
tar не создает целевую папку автоматически.✔️ Как сначала посмотреть содержимое архива (без распаковки)?
Чтобы проверить, запакованы ли файлы в отдельную папку или они рассыплются по вашей текущей директории, используйте ключ
-t (List):tar -tvf archive.tar.bz2✔️ Справочник: специфические ключи сжатия (для истории)
Если вы работаете на старых UNIX-системах или пишете строгие скрипты, явное указание алгоритма сжатия может пригодиться:
.tar.gz / .tgz (Gzip): ключ
-ztar -xvzf archive.tar.gz.tar.bz2 / .tbz2 (Bzip2): ключ
-jtar -xvjf archive.tar.bz2.tar.xz / .txz (XZ / LZMA): ключ
-Jtar -xvJf archive.tar.xz.tar.zst / .tzst (Zstandard): ключ
--zstdtar --zstd -xvf archive.tar.zst📌 Резюме: Забудьте про запоминание флагов
-z, -j и -J. Просто используйте tar -xvf для любых .tar.* архивов!