Введение
В этой статье мы рассмотрим принципы работы команды tar, которая наиболее широко используется для объединения и сжатия больших файлов и каталогов в среде Linux. Вы поймете фундаментальную разницу между архивацией и сжатием, а также освоите необходимые параметры с помощью практических примеров в терминале.
Базовые концепции tar: разница между простым объединением (Archive) и сжатием (Compression)
Для проведения практики по работе с архивами tar создадим рабочий каталог и примеры текстовых файлов.

Команда tar используется для объединения нескольких файлов и каталогов в один архивный файл или для их извлечения.
Скомбинировав параметры -c, -v, -f и параметр -C, упакуем каталог sample в файл archive.tar.
⚙️ [Основные параметры]
-c : Создает новый архивный файл.-x : Распаковывает или извлекает содержимое архивного файла.-t : Отображает список файлов, содержащихся внутри архива.-v : Подробно выводит процесс создания или извлечения архива на экран.-f : Указывает имя архивного файла для обработки.-z : Выполняет сжатие или распаковку с использованием алгоритма gzip (.tar.gz).-j : Выполняет сжатие или распаковку с использованием алгоритма bzip2 (.tar.bz2).-J : Выполняет сжатие или распаковку с использованием алгоритма xz (.tar.xz).-C : Указывает целевой путь к каталогу для выполнения операции архивации.

С помощью команды ls -lh проверим подробную информацию о созданном файле archive.tar и исходном каталоге.
Поскольку это архив, представляющий собой простое объединение файлов в один, процесс сжатия для уменьшения объема к нему не применялся.

Практические параметры сжатия: использование в сочетании с gzip(-z) и bzip2(-j)
Добавив параметр сжатия gzip (-z), создадим файл .tar.gz, который сжимается одновременно с процессом архивации каталога sample.
Этот метод наиболее популярен на практике, поскольку обеспечивает высокую скорость работы и достойную степень сжатия.

Указав параметр сжатия bzip2 (-j), создадим архив .tar.bz2, который объединяет и одновременно сжимает каталог sample.
По сравнению с gzip сжатие занимает больше времени, но, как правило, обеспечивает более высокую степень сжатия.

Чтобы проверить список и размер созданных архивных файлов, выполним команду ls -lh ~/tar-demo/*.tar*.
Вы можете увидеть разницу в размерах файлов, к которым применялись алгоритмы сжатия, по сравнению с обычным несжатым архивом (archive.tar).

Предварительный просмотр списка файлов внутри архива(-t) и безопасная проверка
Чтобы заранее просмотреть структуру файлов и пути к каталогам внутри архива перед распаковкой, выполним команду tar -tvf ~/tar-demo/archive.tar.gz.
Указав параметр -t вместе с флагом подробного вывода -v, можно безопасно проверить права доступа, владельца, размер и структуру каталогов содержащихся файлов, не выполняя фактическую распаковку.

Безопасная распаковка по указанному пути(-x и -C)
Чтобы создать отдельный каталог для безопасной распаковки, выполним команду mkdir -p ~/tar-demo/extracted.

Используя параметры -x и -C, распакуем архивный файл по указанному целевому пути, не засоряя текущий рабочий каталог.
С помощью параметра -z снимем сжатие gzip, а с помощью параметра -v будем отслеживать список извлекаемых файлов в режиме реального времени.

Чтобы убедиться, что файлы внутри архива успешно извлечены по указанному пути, выполним команду ls -la ~/tar-demo/extracted/sample.
По выводу команды видно, что права собственности и разрешения файлов были полностью восстановлены в том виде, в котором они находились на момент создания архива.

В этом материале мы кратко рассмотрели работу команды tar в Linux — от базовых принципов до часто используемых практических примеров архивации и распаковки.
Используйте ключевые параметры в соответствии с ситуацией, чтобы сделать управление файлами и резервное копирование в Linux еще более удобным и эффективным.