Архиватор tar
Полное руководство по работе с tar в Linux.
tar — это стандартный инструмент в Linux для создания и работы с архивами. Сам по себе tar не сжимает файлы — он объединяет их в один файл (архив .tar), сохраняя структуру директорий, права доступа, владельцев и другие метаданные. Сжатие добавляется отдельными утилитами: gzip (.tar.gz / .tgz), bzip2 (.tar.bz2), xz (.tar.xz) и т.д. Поэтому большинство архивов в Linux имеют двойное расширение.
Основные команды и ключи
-c— создать архив-x— извлечь (распаковать) архив-t— просмотреть содержимое архива-f— указать имя файла архива (всегда нужен)-v— verbose, показывать процесс в терминале-z— сжатие/распаковка gzip (.tar.gz)-j— сжатие/распаковка bzip2 (.tar.bz2)-J— сжатие/распаковка xz (.tar.xz)-C— указать директорию для распаковки--exclude— исключить файлы/папки
Как создать архив
-
Простой tar.gz (самый популярный):
tar -czvf archive.tar.gz /path/to/folderили текущая папка
tar -czvf archive.tar.gz . -
tar.bz2 (лучше сжатие, но медленнее):
tar -cjvf archive.tar.bz2 /path/to/folder -
tar.xz (ещё лучше сжатие, современный стандарт):
tar -cJvf archive.tar.xz /path/to/folder -
Только tar без сжатия (редко используется):
tar -cvf archive.tar /path/to/folder
Как распаковать архив
-
tar.gz:
tar -xzvf archive.tar.gz -
tar.bz2:
tar -xjvf archive.tar.bz2 -
tar.xz:
tar -xJvf archive.tar.xz -
Распаковать в конкретную папку (создастся автоматически, если нет):
tar -xzvf archive.tar.gz -C /path/to/destination
Как посмотреть содержимое архива (без распаковки)
tar -tzvf archive.tar.gz # для .gz
tar -tjvf archive.tar.bz2 # для .bz2
tar -tJvf archive.tar.xz # для .xz
tar -tvf archive.tar # без сжатия
Практические примеры
- Исключить папку или файлы:
tar -czvf archive.tar.gz /var/www --exclude='*.log' --exclude='cache'
- Добавить файлы в существующий архив:
tar -rvf archive.tar newfile.txt
- Распаковать только один файл/папку:
tar -xzvf archive.tar.gz path/inside/archive/file.php
- Создать архив из списка файлов (например, из find):
find /var/www -name "*.php" | tar -czvf php_files.tar.gz -T -
Полезные советы
- Всегда используйте
-vпри ручной работе — видно, что именно архивируется/распаковывается - Для больших архивов добавляйте
--checkpointи--checkpoint-action=dot— будет показывать прогресс точками - Если нужно распаковать и сразу перейти в папку:
tar -xzvf archive.tar.gz && cd ${archive%.tar.gz} - Самый быстрый и современный вариант — tar.xz (лучше gzip и bzip2 по сжатию)
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!