Содержание:

В большинстве случае архивы позволяют эффективно сжать данные, экономя место файловой системы, а также служат удобным способом хранения информации. С архивами можно взаимодействовать как через графический интерфейс, так и через консоль. Ниже будет рассмотрен именно второй вариант,  работа на сервере, подключенного через SSH, проводится через командную строку, далее будут приведены консольные инструменты для архивирования.

Распространённые форматы архивов

  • TAR (.tar) – популярный формат архивирования файлов на Unix-системах и одноименная программа для работы с взаимосвязанными форматами архивов. Для сжатия использует внешние утилиты — gzip, bzip2, lzip и другие. В архив, при создании, может записываться дополнительная информация. Например, о владельце и структуре каталогов.
  • GZ (.tar.gz / .tgz / .tar.gzip) – формат архива, выполняющий сжатие данных с помощью утилиты tar (для одного файла) и связки утилит gzip + tar (для нескольких файлов). Отличительная особенность — умение работать с непрерывным потоком данных. Поэтому GZ считается оптимальным инструментом для сжатия интернет-трафика.
  • BZIP2 (.tar.bz2 / .tar.bzip2 / .tbz2 / .tb2 / .tbz) – бесплатная утилита для компрессии данных с высоким качеством. В основном применяется на Unix платформах. По сравнению с GZ, работает медленнее и с большой нагрузкой на CPU, но эффективность сжатия выше.
  • ZIP (.zip) – распространённый тип архивов на Windows системах, позволяющий сжимать файлы и каталоги с использованием разных алгоритмов. Данный формат поддерживается почти всеми ОС, включая Windows, Mac OS X и Unix/Lin. Есть возможность создания самораспаковывающегося архива в виде исполняемого SFX-файла.
  • RAR (.rar) – популярный инструмент работы с архивацией на ОС семейства Windows. Аналог формата Zip. Многоформатный архиватор распространяется в виде программы WinRAR с графическим интерфейсом. Важные особенности — возможность восстановить часть данных, создание многотомных архивов.

Работа с архивами TAR, GZ, BZIP2

Синтаксис команды

Чтобы заархивировать /разархивировать файлы в TAR, GZ, BZIP2, команда составляется по аналогичной схеме. Делается это следующим образом (на примере TAR):

tar {-аргументы} {имя или путь до архива} {путь до файла или каталога}

Основные аргументы

  • -c – создать архив.
  • -f – вывести имя или путь до архива.
  • -t – показать файлы в архиве (применяется при уже созданном архиве).
  • -v – показать обрабатываемые файлы.
  • -a – сжать или извлечь данные из архива с автоматическим выбором утилиты (gzip, bzip и т.д.), в зависимости от указанного расширения. Например, если файл называется «file.tar.gz», то к архиву автоматически будет применено сжатие с помощью gzip.
  • -x – извлечь данные из архива.

Создание архива TAR

Пример:

tar -cfv /var/www/mysite.tar /var/www/html/mysite

Извлечение данных из архива TAR

Пример извлечения данных в текущую директорию:

tar -xfv /var/www/mysite.tar

Пример извлечения данных в определённую директорию:

tar -xfv /var/www/mysite.tar -С /var/www/html/mysite

Создание архива GZ

Пример:

tar -cfva /var/www/mysite.tar.gz /var/www/html/mysite

Извлечение данных из архива GZ

Пример извлечения данных в текущую директорию:

tar -xfva /var/www/mysite.tar.gz

Пример извлечения данных в определённую директорию:

tar -xfva /var/www/mysite.tar.gz -C /var/www/html/mysite

Создание архива BZ2

Пример:

tar -cfva /var/www/mysite.tar.bz2 /var/www/html/mysite

Извлечение данных из архива BZ2

Пример извлечения данных в текущую директорию:

tar -xfva /var/www/mysite.tar.bz2

Пример извлечения данных в определённую директорию:

tar -xfva /var/www/mysite.tar.bz2 -C /var/www/html/mysite

Работа с ZIP-файлами

Подготовка

Для работы с данным типом архивов будут использоваться программы ZIP и UNZIP. На некоторых дистрибутивах данные утилиты отсутствуют, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.

CentOS

sudo yum insatall zip unzip -y

Debian/Ubuntu

sudo apt-get install zip unzip -y

Создание архива ZIP

Синтаксис

zip {имя или путь до архива} {путь до файла или каталога}

Пример:

zip /var/www/mysite.zip /var/www/html/mysite

Извлечение данных из архива ZIP

Синтаксис

unzip {имя или путь до архива} -d {путь до файла или каталога}

Если не указывать аргумент «-d», то файлы будут распакованы в директорию с архивом, указанным в команде.

Пример:

unzip /var/www/mysite.zip -d /var/www/html/mysite

Работа с RAR архивами

Подготовка

Для работы с RAR архивами потребуется программа UNRAR, отсутствующая по умолчанию на некоторых дистрибутивах. Для ее установки, в терминал вводятся следующие команды.

CentOS

sudo yum install unrar rar -y

Debian/Ubuntu

sudo apt-get install unrar rar -y

Создание архива RAR

Синтаксис

rar {имя или путь до архива} {путь до файла или каталога}

Чтобы заархивировать каталог полностью (со всеми вложенными папками и файлами), нужно добавить ключ «-r». Команда будет выглядеть так:

rar -r {имя или путь до архива} {путь до файла или каталога}

Пример:

rar -r /var/www/mysite.rar /var/www/html/mysite

Извлечение данных из архива RAR

Синтаксис

unrar x {имя или путь до архива} {путь до файла или каталога}

Пример:

unrar x /var/www/mysite.rar /var/www/html/mysite