Содержание:
В данной статье мы поговорим об работе с архивами, как создаются архивы, как происходит запаковка файлов в архив и как произвести распаковку файлов и каталогов из архива. Эта статья подойдет для пользователей серверов, на которых используются дистрибутивы 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.

Утилита GZIP
Gzip — это утилита командной строки для сжатия файлов в Linux.
Для добавления файла в архив необходимо использовать следующую команду:
gzip имя_файлаТакже можно сделать сжатие уже имеющийся у нас архива с расширением .tar с помощью выполнении команды:
gzip -cv test.tar > test.tar.gz-c предназначен для направление gzip сообщению, что необходимо записать test.tar в стандартный вывод и произвести сжатие архива;
-v предназначена для отображения в консоли обрабатываемых файлов.
![]()
Распаковка происходит с помощью ключа -d:
gzip -d test.tar.gzДля того, чтобы запаковать все файлы в определенной категории необходимо воспользоваться ключом -r:
gzip -rv item/
Для распаковки всех файлов из архивов в определенном каталоге нужно использовать следующую команду:
gzip -drv item
Предыдущая статья:
Установка сервера Minecraft на Ubuntu VPSСледующая статья:
Установка Docker на VPS и работа с ним
Комментарии ()