Tar — базовый инструмент Linux для создания, управления и извлечения архивов. Утилита, в отличие от аналогов на Windows, только объединяет файлы в архив, но не сжимает их. По умолчанию только собирает в контейнер, а для сжатия архивов применяет алгоритмы xz, gzip или bzip2. Разберём базовую работу с файлами tar в Linux: как создать из файлов и директорий, сжимать, открывать для просмотра и распаковать через терминал.
Tar в Linux: что это такое
Tar — консольный архиватор, который объединит несколько документов и папок в архив с расширением .tar. При архивировании он сохраняет структуру каталогов, права доступа и метаданные, но информацию не сжимает. Для уменьшения объёма архива подключают другие утилиты, например, gzip или bz2. Сжатые файлы обычно имеют расширение gz или bz2 соответственно.
Возможности и синтаксис tar
Утилита предоставляет обширные возможности для архивирования: создание (-c), распаковка (-x), просмотр (-t), обновление (-u), удаление (-d) и сравнение (-D) архивов. Она поддерживает многотомность – их разделение на части и инкрементальный бэкап – добавления только изменённых файлов для создания резервных копий.
Базовый синтаксис выглядит следующим образом:
tar -ключи -f название.tar файл1 файл2 папка1 папка2
Здесь:
- сразу после названия архиватора через пробел с дефисом перечисляют все параметры, однобуквенные ключи можно указывать вместе, без разделителей,
- многобуквенные вроде —incremental вводят с двумя дефисами,
- обязательно указывают флаг -f – задаёт название создаваемого архива, путь к нему,
- дальше через пробел вводят названия файлов и каталогов для архивирования.

Живой пример:
tar -c -f archive_name.tar file1.txt file2.txt file3.rtf folder1
Объединим три текстовых документа и каталог в archive_name.
Если объекты находятся не в текущем каталоге, указывайте полные пути к ним:
tar -cf backup.tar.gz /home/user/documents /home/user/text.txt
Основные параметры tar.
| Операции | Опции | Пояснение |
|---|---|---|
| Операции с архивом | -c | Создать новый tar-архив |
| -x | Команда извлечения архива | |
| -t | Показать, что в архив | |
| -u | Обновить архив, добавив изменённые файлы | |
| -r | Добавить файлы в существующий архив | |
| -A | Объединить несколько архивов tar (вам нужно указать путь к ним) | |
| Файлы/папки | -T | Использовать список файлов из указанного файла |
| -X | Исключить объекты в списке | |
| —exclude | Исключить файлы или каталоги по шаблону | |
| Метаданные | -p | Сохранить привилегии |
| —numeric-owner | Сохранить владельца по UID/GID | |
| —acls | Сохранить ACL | |
| —xattrs | Сохранить расширенные атрибуты | |
| Вывод/логи | -v | Подробный вывод процесса (verbose) |
| —info-script | Вывод сообщений скрипта или уведомлений | |
| Продвинутые | —incremental | Создать инкрементальный бэкап |
| —directory=DIR | Перед операцией перейти в указанную директорию (исключит ввод полных имён) | |
| Общее | —help | Показать ключи и справку по команде |
Архиватор добавляет файлы в один контейнер, затем их сжимают с помощью различных утилит.
| Сжатие | Опции | Пояснение / особенности формата |
|---|---|---|
| gzip | -z | Быстрое сжатие, умеренное уменьшение размера |
| bzip2 | -j, —bzip2 | Медленнее gzip, но лучше степень сжатия |
| xz | -J, —xz | Использует LZMA2, высокий уровень компрессии, медленно |
| lzma | —lzma | Устаревший, используйте xz |
| lzip | —lzip | Хорошая компрессия, но предустановлен не всегда |
| lzop | —lzop | Быстрый, но размер уменьшает слабо |
| авто-сжатие | -a, —auto-compress | Утилита сама выберет архиватор по расширению архива |
Для просмотра всех ключей команды выполните tar —help.

Как установить архиватор tar
В большинстве дистрибутивов Линукс программа предустановлена. Если её нет, выполните следующие команды.
Ubuntu, Mint, Kali, Astra:
sudo apt update – обновление списка пакетов
sudo apt install tar – инсталляция
Fedora, CentOS:
sudo yum install tar
Arch, Manjaro
sudo pacman -S tar
Готово, можно работать.
Как запаковать папку и сжать файлы в Линукс
Для упаковки кликните правой клавишей по целевому каталогу и выберите «Открыть в терминале» или запустите иным способом и посетите нужную директорию:
cd «/home/username/Рабочий стол/python»
Дальше выполните следующую команду:
tar -cf «/home/user/Рабочий стол/python/документы.tar» 210818.jpg stepik.py AppInfo
Здесь:
- -c — архивирование;
- -f – обязательно указываем путь (path to folder) и имя файла в кавычках;
- дальше через пробел имена папок и файлов:
- userк ё – имя вашей учётной записи, не забудьте заменить на своё.

Чтобы сделать архив одного каталога выполните:
tar -cf «/home/lethal/Рабочий стол/python.tar» -C «/home/lethal/Рабочий стол» python
Пояснения:
- -c — архивирование,
- -f — путь,
- -C «/home/lethal/Рабочий стол» — перейти в каталог /home/lethal/Рабочий стол перед упаковкой;
- python — имя папки внутри директории, которую архивируем;
Без -C архив будет содержать весь путь к директории.
Файл python.tar появится на Рабочем столе, рядок с целевым каталогом.
Если нужен архив папки в Linux с пропуском определённых файлов, используйте конструкцию:
tar -cf «/home/user/documents/archive1.tar» -C «/home/user/documents» \
—exclude=»files/arc.zip» \
—exclude=»files/old.zip» \
acr_name
В этом случае —exclude пропустит объекты arc.zip и old.zip.
Команду можно выполнить в одну строчку, но для этого удалите все символы переноса – «\».
Как сжать файлы в архиве tar?
В Линуксе для экономии места архивы сжимают при помощи предустановленной утилиты bzip2.
bzip2 -9 -v -k «/home/user1/desktop/python.tar»
- -k — сохранит несжатый архив, без этого ключа его заменит новый;
- -v – вывод прогресса упаковки;
- -j – указывает на применение алгоритмы сжатия bzip2;
- -9 – уровень компрессии: 0 – нет, 1 – минимальный, 9 – ультра.

Аналогично используют утилиту gzip. Она работает быстрее, но сжимает чуть хуже. Синтаксис имеет почти такой же, но ключ -j меняют на -z:
- gzip – tar -czf archive.tar.gz folder1
- bzip2 – tar -cjf archive.tar.bz2 folder
При работе с большими файлами рекомендуем экспериментальным путём выбирать оптимальное решение: кто быстрее и сильнее сжимает.
Как создать многотомный архив?
Архиватор поддерживает создание многотомных или разделённых на части архивов заданного размера. Разбиение на части упрощает запись данных на носители с ограниченным объёмом (например, флешки), их загрузку и скачивание через интернет. После передачи все части объединяются и корректно распаковываются стандартными средствами tar. Для создания используйте конструкцию:
tar -cf «/home/user/desktop/documents.tar» -L 102400 -C «/home/lethal/ desktop/documents» docs
-L 102400 указывает размер одного тома – 100 МБ в килобайтах.
Создаём архив с паролем
Для защиты сжатой информации в Linux можно делать зашифрованные архивы.
tar -czf — «/home/user1/docs/documents» | gpg -c -o «/home/user1/docs/documents.tar.gz.gpg»
- c – создание архива,
- z – применение gzip для компрессии,
- f – ввод пути к исходнику,
- c – (второй ключ) – добавление ключа, пароля,
- последний параметр – куда сохранить конечный файл.
Также можете указать уровень компрессии, но для этого удалите ключ z и добавьте степень компрессии от 1 до 9.

tar -cf — «/home/user1/docs/documents» | gzip -6 | gpg -c -o «/home/user1/docs/documents.tar.gz.gpg»
После выполнения команды появится запрос ввести и подтвердить пароль – укажите его дважды.
Архиватор шифрует содержимое контейнера при помощи приложения gpg:
tar -czf — «/home/lethal/Рабочий стол/arc» | gpg -c -o «/home/lethal/Рабочий стол/arc.tar.gz.gpg»
- -z – задействует gz для компрессии,
- gpg -c, указанные через «|» зашифруют поток.

После также введите пароль вручную и запомните или запишите его.
Пароль можно добавить в команду без запросов, но это опасно.
Появится файл сразу с тремя расширениями: tar – архив, gz – сжатый, gpg – запароленный: Backup.tar.gz.gpg.
Как создать зип-архив в Линуксе
Формат zip позволяет организовать кроссплатформенную работу, но из коробки не поддерживается в большинстве дистрибутивов Linux. Устанавливается командами:
sudo apt update
sudo apt install zip unzip
В Fedora и CentOS:
sudo dnf install zip unzip
Для сжатия объектов в терминале выполните:
zip «/home/user/directory/docs.zip» «/ home/user/directory/docs»
Синтаксис похож на tar, но параметры совпадают не все:
- -r — архивирует папки рекурсивно – со всеми вложенными, а не только указанную,
- -v — выведет подробный список файлов,
- -q — тихий режим, без отображения списка,
- -e – защита паролем, его будете вводить вручную после появления запроса,
- -x — исключит все файлы по маске.
Архив появится по указанному пути.
Как в Linux разархивировать архив: tar.gz и zip
Пришло время извлечь файлы из архива.
Как открыть архив с помощью команды tar
Для просмотра содержимого в терминале выполните:
tar -tf «/home/lethal/dir/archive.tar.gz»
- -t – отобразит только список каталогов/файлов, без подробностей.
Для вывода подробностей: размеры, привилегии, даты добавьте -v:

tar -tvf «/home/lethal/dir/backup.tar.gz»
Узнать размер файла в удобочитаемом виде можно строкой:
ls -lh «/home/user2/desktop/arc.tar»
Как разархивировать tar через терминал
Для извлечения объекта выполните код.
mkdir -p backup – создаст новую папку, в ином случае разархивирует в текущую,
tar -xf «/home/user2/dir/python.tar» -C backup
Здесь backup – путь к каталогу, причём можно указать полный путь к папке, даже расположенной на ином диске или USB-накопителе.
mkdir -p «/lethal/backup»
tar -xvf «archive.tar.gz.gpg» -C «/lethal/backup»
Первая команда создаст каталог backup, вторая – распакует python.tar в эту директорию.

Для gz используйте ключ -xzf, bzip2 – -xjf, xz – — xJf.
Как открыть и распаковать запароленный архив в Линукс
Сжатый документ формата gpg с паролем можно как разархивировать, так и открыть для просмотра содержимого.
gpg -d «/home/user2/desktop/backup.tar.gz.gpg» | tar -tzf —
Здесь:
- gpg – вызов утилиты для шифрования/расшифровки;
- -d – decrypt – указывает на расшифровывание (запросит пароль);
- дальше идёт пут к архиву в кавычках;
- через | название приложения для просмотра содержимого:
- -t – отобразит содержимое архива;
- -z – указывает на использование gzip;
- -f – говорит читать с классического потока.
Распаковка запароленного архива в активный каталог:
gpg -d «/home/user2/desktop/backup.tar.gz.gpg» | tar -xzf —
- gpg -d – запуск шифровальщика с ключом указывает на расшифровку (нужно ввести пароль);
- -x – распаковка содержимого архива.
Разархивирование в указанную директорию:
mkdir -p /home/user2/restore,
gpg -d «/home/user2/backup.tar.gz.gpg» | tar -xzf — -C /home/user2/restore
- первая команда mkdir создаст новую директорию, если вы хотите извлечь в новую,
- первый «-» перед C – указывает команде читать данные из стандартного потока ввода,
- -C – принимает адрес для распаковки.
Tar — базовая утилита для объединения файлов и папок в Linux, которая сохраняет структуру каталогов, права доступа и метаданные. Она не сжимает информацию, но работает в связке с gzip, bzip2, xz и другими приложениями для компрессии. Программа позволяет создавать, извлекать, просматривать и обновлять архивы, поддерживает инкрементальное резервное копирование и объединение нескольких файлов, но работает без графического интерфейса. Запоминать все ключи не обязательно, главное, понять принцип работы с архиватором и знать, как посмотреть информацию о нём. Делается это командой —help.