Как создать TAR-архив в Linux

Архивация файлов и директорий — одна из самых простых и при этом важных операций в системном администрировании и повседневной работе. В Linux стандартный формат архива называется Tape Archive, или tar. tar сам по себе лишь объединяет файлы в один поток; для уменьшения размера обычно применяют сжатие: gzip, bzip2 или xz, получая архивы .tar.gz, .tar.bz2 и .tar.xz.
Ниже — краткое руководство по установке tar (если нужно), созданию и распаковке tar-архивов, а также советы и частые ошибки.
Установка tar на рабочей станции Linux
Большинство современных дистрибутивов уже поставляются с tar. Если у вас его нет, установите пакет через менеджер пакетов:
На Debian и Ubuntu-подобных:
sudo apt install tarНа Arch и производных:
sudo pacman -S tarНа RHEL, CentOS и Fedora:
sudo yum install tarПримечание: в некоторых версиях Fedora и RHEL для управления пакетами используется dnf, но команда yum остаётся доступной на многих системах.
Создание TAR-архива
Основная идея: tar собирает файлы в один архив, флаги определяют действие и метод сжатия. Откройте терминал в каталоге, где находятся нужные файлы, или перейдите туда командой cd.
Создать «сырой» tar (без сжатия):
tar -cvf archivename.tar directory_pathСоздать tar и сжать через gzip (.tar.gz):
tar -czvf archivename.tar.gz directory_pathСоздать tar и сжать через bzip2 (.tar.bz2):
tar -cjvf archivename.tar.bz2 directory_pathСоздать tar и сжать через xz (.tar.xz):
tar -cJvf archivename.tar.xz directory_pathОбъяснение ключей:
- c — создать архив (create).
- v — подробный режим (verbose), показывает файлы в процессе.
- f — указывает имя файла архива (filename).
- z — пройти через gzip.
- j — пройти через bzip2.
- J — пройти через xz.
Пример: упаковать папку Test в tar.gz:
tar -czvf Test-file.tar.gz TestВажно: флаги можно сочетать в любом порядке после одного дефиса (например, -cvzf). Если путь к каталогу содержит пробелы, возьмите его в кавычки.
Полезные опции и приёмы
- Исключить файлы по маске:
tar -czvf backup.tar.gz --exclude='*.tmp' directory_path- Упаковать содержимое каталога, не включая сам корневой путь (перейти в каталог перед упаковкой):
cd directory_path
tar -czvf ../archivename.tar.gz .- Включить файлы по списку (из файла filelist.txt):
tar -czvf archive.tar.gz -T filelist.txt- Добавить файл в существующий tar (без сжатия):
tar -rvf archivename.tar newfileПросмотр и распаковка архива
Просмотреть содержимое архива без распаковки:
tar -tf archivename.tarДля сжатых архивов будет работать то же самое (tar автоматически распознаёт сжатие по флагу):
tar -tzf archivename.tar.gz # gzip
tar -tjf archivename.tar.bz2 # bzip2
tar -tJf archivename.tar.xz # xzРаспаковать архив (в текущую директорию):
tar -xvf archivename.tarС распаковкой сжатых архивов:
tar -xzvf archivename.tar.gz
tar -xjvf archivename.tar.bz2
tar -xJvf archivename.tar.xzИзвлечь только конкретный файл или папку из архива:
tar -xvf archivename.tar path/inside/archive/file.txtПроверка целостности и быстрый контроль
- Просмотреть список файлов: tar -tf.
- Проверка gzip-архива через gzip:
gzip -t archivename.tar.gz- Проверка распаковки в тестовую папку (без риска перезаписи):
mkdir /tmp/tar-test && tar -xvf archivename.tar -C /tmp/tar-testВажно: всегда проверяйте список файлов перед распаковкой в системные каталоги.
GUI и альтернативы командной строке
Если вы предпочитаете графические инструменты:
- На Linux доступен p7zip (реализация 7‑Zip) и графические архиваторы вроде File Roller (GNOME) или Ark (KDE).
- После установки p7zip-пакета вы сможете правой кнопкой мыши выбрать «Сжать» и выбрать формат TAR.XZ или другие.
GUI хорош для одноразовых операций и непрофессиональных пользователей. Для автоматизации и скриптов используйте tar в терминале.
Сравнение форматов — краткая памятка
| Формат | Скорость упаковки | Размер архива | Хорош для |
|---|---|---|---|
| .tar (без сжатия) | быстро | большой | перенос структуры, объединение файлов перед копированием |
| .tar.gz (gzip) | быстро | средний | общие задачи, совместимость |
| .tar.bz2 (bzip2) | медленнее | меньше gzip | когда важен размер, не скорость |
| .tar.xz (xz) | медленнее | самый маленький | максимальное сжатие при терпимой скорости |
Когда выбирать: если важна совместимость — .tar.gz, если нужен минимальный размер — .tar.xz.
Типичные ошибки и когда tar не подходит
- Ожидать, что tar «запускается» как папка в файловом менеджере — сначала нужно распаковать архив.
- Попытки обновлять сжатый архив напрямую часто приводят к ошибкам; лучше распаковать, изменить и пересоздать.
- Для потоковой передачи больших бинарных данных tar хорош, но если нужна защита паролем — используйте шифрование (gpg) поверх архива.
Выбор формата — быстрый алгоритм
flowchart TD
A[Нужна максимальная совместимость?] -->|да| B[.tar.gz]
A -->|нет| C[Нужен минимум размера?]
C -->|да| D[.tar.xz]
C -->|нет| E[.tar.bz2 или .tar]Чек-лист перед созданием архива
- Убедиться, что нет временных файлов (*.tmp) или кеша.
- Проверить права доступа — что можно читать для архивации.
- Решить требование к размеру и скорости.
- Протестировать распаковку в изолированную папку.
Частые команды-«шпаргалка» (cheat sheet)
- Создать tar: tar -cvf archive.tar dir
- Создать tar.gz: tar -czvf archive.tar.gz dir
- Просмотреть: tar -tf archive.tar
- Распаковать: tar -xvf archive.tar
- Распаковать tar.gz: tar -xzvf archive.tar.gz
- Исключить маски: –exclude=’*.log’
Частые вопросы
Как посмотреть список файлов в tar.gz без распаковки?
Используйте tar -tzf archivename.tar.gz — команда покажет содержимое архива.
Как распаковать только один файл из архива?
Выполните tar -xvf archivename.tar path/inside/archive/file
Можно ли хранить права доступа и символьные ссылки в tar?
Да. tar по умолчанию сохраняет права доступа и символьные ссылки. При переносе между системами убедитесь, что целевая файловая система поддерживает эти атрибуты.
Краткое резюме
- tar объединяет файлы; gzip/bzip2/xz добавляют сжатие.
- Для совместимости используйте .tar.gz; для лучшего сжатия — .tar.xz.
- Проверяйте содержимое через tar -tf перед распаковкой.
Важно: перед массовой распаковкой на продакшн-сервере всегда тестируйте архив в изолированной директории.
Похожие материалы
Удалённый доступ к файлам через OneDrive
Developer‑беты iOS 15, iPadOS 15, macOS Monterey, watchOS 8
Отключить вибрацию клавиатуры на Android
Как настроить и пользоваться Kindle Paperwhite
Как исправить ERROR_TIMER_RESUME_IGNORED