TAR (от английского tape archive) – это формат файлового архива, предназначенный для объединения
нескольких файлов и каталогов в один контейнер․ Первоначально он был разработан для записи данных на магнитные ленты,
но сегодня используется в самых разных системах, в частности в Linux, Unix и macOS․
История и назначение
Первые версии утилиты tar появились в начале 1970‑х годов в системе UNIX․ На тот момент основной задачей
было создание резервных копий и перенос данных между машинами с помощью магнитных лент․ Формат сохраняет не только
содержимое файлов, но и важные атрибуты: права доступа, владельца, временные метки и структуру каталогов․
Структура TAR‑файла
- Каждый файл (или каталог) записывается в виде заголовка фиксированного размера (512 байт), за которым следует
его содержимое, выровненное по 512‑байтовым блокам․ - В конце архива находится два пустых блока (по 512 байт), которые служат признаком завершения․
- Формат не предусматривает сжатие – он лишь «упаковывает» файлы в один контейнер․ Сжатие достигается
за счёт использования дополнительных утилит (gzip, bzip2, xz и др․) и соответствующих расширений
(․tar․gz,․tar․bz2,․tar․xz)․
Основные возможности утилиты tar
Утилита tar умеет выполнять четыре базовые операции:
- Создание архива (
-c) – объединяет указанные файлы и каталоги в один․tar‑файл․ - Извлечение файлов (
-x) – распаковывает содержимое архива в текущий каталог или в указанный путь․ - Просмотр содержимого (
-t) – выводит список файлов, находящихся в архиве, без их распаковки․ - Модификация архива (
-r,-u) – добавление новых файлов или обновление уже существующих․
Каждая команда начинается с указания действия (-c, -x, -t), после чего могут
следовать дополнительные опции․
Часто используемые опции
| Опция | Описание |
|---|---|
-v | Подробный вывод (verbose) – показывает каждый обрабатываемый файл․ |
-f <имя_файла> | Указывает имя архива (обязательно, если имя не передаётся через stdin)․ |
-z | Сжатие/распаковка с помощью gzip (формат ․tar․gz или ․tgz)․ |
-j | Сжатие/распаковка с помощью bzip2 (формат ․tar․bz2)․ |
-J | Сжатие/распаковка с помощью xz (формат ․tar․xz)․ |
-C <каталог> | Сменить текущий каталог перед выполнением операции (удобно при извлечении)․ |
--exclude=<шаблон> | Исключить из архива файлы, соответствующие шаблону․ |
Примеры использования
Создание простого архива
tar -cvf backup․tar /home/user/documents Создаётся файл backup․tar, содержащий каталог /home/user/documents и все вложенные файлы․
Создание сжатого архива (gzip)
tar -czvf project․tar․gz src/ README․md Файлы src/ и README․md упаковываются и сразу же сжимаются в project․tar․gz․
Извлечение архива в текущий каталог
tar -xvf backup․tar Извлечение в указанный каталог
tar -xvf backup․tar -C /tmp/restore Просмотр содержимого без распаковки
tar -tvf backup․tar Обновление архива (добавление новых файлов)
tar -rvf backup․tar newfile․txt Сравнение с другими форматами архивов
- ZIP – одновременно упаковывает и сжимает файлы, поддерживает отдельные уровни сжатия для каждого файла․
TAR обычно используется в паре с внешними компрессорами, что даёт более гибкое управление сжатием․ - RAR – проприетарный формат с более высоким коэффициентом сжатия, но требует отдельного программного обеспечения․
- 7z – современный формат с поддержкой множества алгоритмов сжатия; в отличие от TAR, 7z хранит
метаданные в более компактном виде․
ТАР‑архивы часто выбирают для резервного копирования и переноса данных в Linux‑окружениях, потому что они сохраняют
полные атрибуты файловой системы и легко интегрируются в скрипты автоматизации․
Лучшие практики работы с TAR
- Всегда указывайте опцию
-f– без неёtarбудет ожидать ввод/вывод из стандартного потока․ - Для больших архивов используйте сжатие
-J(xz) – оно обеспечивает лучший коэффициент сжатия,
хотя и требует больше процессорного времени․ - При резервном копировании системных каталогов исключайте временные и кэш‑файлы (
/proc,/sys,
/dev) с помощью--exclude․ - Проверяйте целостность архива командой
tar -tvf archive․tarилиtar -tzf archive․tar․gz․ - Для автоматизации используйте скрипты, где сначала создаётся архив, затем проверяется его размер и только после
этого архив перемещается в место хранения․
ТАР‑архив – это простой, но мощный способ объединения файлов и каталогов в один контейнер, сохраняющий их
атрибуты и структуру․ Благодаря гибкой системе опций и возможности комбинировать его с различными алгоритмами
сжатия, tar остаётся незаменимым инструментом в арсенале системных администраторов и разработчиков․
Если вы только начинаете работать с Linux, освоив базовые команды tar, вы сможете быстро
создавать резервные копии, переносить проекты и управлять архивами без необходимости установки сторонних программ․
Дата генерации статьи: 10 июля 2026 г․