Как работать с архивом файлов .tar.gz на Linux

Время чтения: 5 мин. Обновлено: 26 января 2026

В данной статье мы поговорим об работе с архивами, как создаются архивы, как происходит запаковка файлов в архив и как произвести распаковку файлов и каталогов из архива. Эта статья подойдет для пользователей серверов, на которых используются дистрибутивы Linux. Для примера мы использовали виртуальные серверы.

Арендуйте VPS

Если вы ищете хороший VPS, то можете ознакомиться с подборкой VDS хостеров.

Перейти

Что такое Tar?

Tar (Tape Archive) — формат архивации файлов, который используется для объединения нескольких файлов и директорий в единый архивный файл.

Формат архивации .tar обладает рядом преимуществ по сравнению с .zip, что делает его предпочтительным выбором для определённых типов файлов и приложений.

Ключевое отличие заключается в способе сжатия. В случае .zip каждый файл сжимается индивидуально, в то время как .tar обрабатывает все файлы как единый пакет, осуществляя сжатие на уровне всего архива. Таким образом, .zip представляет собой набор сжатых файлов, а .tar — сжатый архив несжатых файлов.

Что касается формата .tar.gz, то это архив в формате .tar, который был сжат с помощью утилиты gzip. Именно из-за использования этой утилиты для сжатия к имени файла добавляется расширение .gz.

Хотя gzip — это наиболее распространённый метод сжатия архивов, существуют и другие варианты. Как вы могли догадаться, использование другой утилиты для сжатия архива .tar приведёт к другому расширению: .tar.bz2 (bzip2), .tar.xz (xz) и так далее.  

Работа с архивами .tar.gz

Для создания и распаковки файлов в архив .tar.gz в Linux-системах используется библиотека tar.

Запаковка файлов в архив

Команда для запаковки файла или файлов выглядит следующим образом:

tar –-create --gzip --verbose -–totals --file test.tar.gz video.mp4

В этом примере совершается следующее:

tar --create — создает файл-архив с наименованием test.tar
--verbose — выводит подробную информацию процесса
--totals — выводит итоговую информацию информацию завершенного процесса
--file — использование файла или файлов для добавления их в архив. Обязательный пункт, так как мы работаем в большинстве случаях с файлами.

Запаковка файлов в архив

Эту команду можно написать и сокращенно, как описано ниже:

tar -czvf test.tar.gz video.mp4

-c — сокращение --create
-z — сокращение --gzip
-v — сокращение --verbose
-f — сокращение --file

Запаковка файлов в архив

Запаковку папок с файлами можно произвести следующей командой:

tar -czvf base_1.tar.gz car book

Запаковка папок с файлами

Распаковка файлов из архива

Распаковка архивов происходит с помощью -x или же --extract. Синтаксис выглядит следующим образом:

tar --extract --verbose --totals --file test.tar.gz

Распаковка архивов

или

tar -xvf test.tar.gz

Распаковка файлов из архива

Бывают случаи, когда нужно распаковать файлы из архива в другое место и это можно реализовать, для этого необходимо использовать ключ -C или же --directory. Например:

tar -xf test.tar.gz -C /www/test/

В случае если нужно просмотреть содержимое архива, то необходимо использовать следующий ключ -t или же --list и после выполнения команды произойдет вывод всех каталогов и файлов, которые были запакованы в архиве:

tar -tf wp.tgz

содержимое архива

Если Вы хотите исключить из распаковки определенные файлы или каталоги, то Вы можете воспользоваться ключом --exclude. Рассмотрим следующий пример:

tar --exclude='test1' --xvf test.tar.gz

В данной команде выполняется распаковка файлов из архива, кроме файла test1, который располагается в архиве.

Можно производить исключать несколько файлов или папок, нужно в команду добавлять несколько ключей --exclude

распаковка файлов из архива

Вы также можете распаковать файл в формате tar.gz, используя стандартный поток ввода(stdin), а результат опишется в стандартном потоке вывода (stdout). Для этого нужно передать файл утилите tar, указав параметр для распаковки -z.

Например, следующая команда распакует файл, расположенный по адресу http://X.X.X.X.X/wp.tgz, с помощью утилиты wget и команды tar:

wget -c http://X.X.X.X.X/wp.tgz -O - | tar -xz

При выполнении команды производятся следующие действия:
- Запускается команда wget, в первую очередь мы добавляем ключ -c, чтобы при потери соединения скачивание все еще продолжалось.
- Начинается обращение к серверу или сайту с указанием архива.
- Далее выполняется ключи -O и -, через -О мы производим скачивание архива, а по ключу – активирует команду tar.
- Tar в свою очередь распаковывает архив, на который поступил запрос через wget.

распаковка архива Tar

Утилита GZIP

Gzip — это утилита командной строки для сжатия файлов в Linux.

Для добавления файла в архив необходимо использовать следующую команду:

gzip имя_файла

Также можно сделать сжатие уже имеющийся у нас архива с расширением .tar с помощью выполнении команды:

gzip -cv test.tar > test.tar.gz

-c предназначен для направление gzip сообщению, что необходимо записать test.tar в стандартный вывод и произвести сжатие архива;
-v предназначена для отображения в консоли обрабатываемых файлов.

Утилита GZIP

Распаковка происходит с помощью ключа -d:

gzip -d test.tar.gz

Для того, чтобы запаковать все файлы в определенной категории необходимо воспользоваться ключом -r:

gzip -rv item/

запаковать все файлы

Для распаковки всех файлов из архивов в определенном каталоге нужно использовать следующую команду:

gzip -drv item

распаковка всех файлов

Комментарии ()

    Популярные статьи