Как распаковать архив в консоли Linux: команды tar -xzf и unzip
Форматы архивов в мире Linux
В операционных системах Linux стандартные архивы .zip встречаются реже, чем в Windows. Основным стандартом сжатия являются архивы Tarball (.tar.gz / .tgz). Это двухэтапный процесс: сначала утилита tar упаковывает сотни файлов и прав доступа в один общий файл архива, а затем компрессор gzip сжимает его для экономии места. Начинающие пользователи часто путаются во флагах распаковки консольных утилит.
Шпаргалка по расширениям архивов
| Формат файла | Утилита для распаковки | Базовая команда |
|---|---|---|
.tar.gz или .tgz | tar (с флагом gzip) | tar -xzf archive.tar.gz |
.tar.bz2 | tar (с флагом bzip2) | tar -xjf archive.tar.bz2 |
.zip | unzip | unzip archive.zip |
.tar (без сжатия) | tar | tar -xf archive.tar |
Пошаговые примеры распаковки любых архивов
Секрет запоминания флагов tar -xzf:
- -x — eXtract (извлечь / распаковать).
- -z — gZip (обработать сжатие gzip).
- -v — Verbose (показывать список распаковываемых файлов на экране).
- -f — File (указать имя файла архива — этот флаг ВСЕГДА ставится последним перед именем файла!).
Сценарий 1: Распаковка .tar.gz в текущую папку
tar -xzvf backup.tar.gzСценарий 2: Распаковка .tar.gz в конкретную другую папку (-C)
Чтобы не мусорить в текущей папке, укажите целевую директорию флагом -C (заглавная буква):
tar -xzf site_files.tar.gz -C /var/www/html/Сценарий 3: Распаковка стандартных Windows ZIP-архивов
Сначала установите утилиту unzip (она не всегда есть в чистой системе):
sudo apt install unzip -yРаспакуйте архив:
Распаковать в текущую папку
unzip archive.zip
Распаковать в указанную папку (флаг -d)
unzip archive.zip -d /opt/myprogram/Сценарий 4: Как создать свой архив .tar.gz (Упаковка)
tar -czvf my_backup.tar.gz /var/www/html(Флаг -c означает Create / Создать).
Типовые ошибки администраторов
- Опечатка в порядке флагов (tar -xzf): Флаг
-fждет сразу после себя имя файла. Если написатьtar -xfz archive.tar.gz, команда упадет с ошибкой, посчитав буквуzименем несуществующего файла. - Распаковка «архивной бомбы»: Если распаковать архив, внутри которого лежат тысячи файлов без корневой папки, они замусорят всю вашу рабочую директорию. Сначала посмотрите содержимое архива без распаковки командой:
tar -ztvf archive.tar.gz.
Инженеры ITSTM настроят резервное копирование по расписанию (BorgBackup, Restic), ротацию архивов и регулярное тестирование восстановления баз данных.
Частые вопросы (FAQ)
Как распаковать тяжелый архив .tar.xz?
Формат XZ обеспечивает максимальное сжатие. Распакуйте его флагом -J: tar -xJvf archive.tar.xz
Что делать, если при распаковке zip-архива русские имена файлов превращаются в кракозябры?
Это происходит из-за кодировки CP866/CP1251 в Windows. Распакуйте архив с указанием кодировки: unzip -O CP866 archive.zip
Как распаковать только один конкретный файл из огромного архива .tar.gz?
Укажите путь к нужному файлу в конце команды: tar -xzf big_archive.tar.gz path/to/needed_file.txt
Как распаковать архив .rar в Linux?
Установите утилиту unrar: 'sudo apt install unrar -y' и выполните распаковку: 'unrar x archive.rar'.