Содержание:
- Распространенные форматы архивов
- Работа с архивами TAR, GZ, BZIP2
- Работа с ZIP-файлами
- Работа с RAR архивами
В большинстве случае архивы позволяют эффективно сжать данные, экономя место файловой системы, а также служат удобным способом хранения информации. С архивами можно взаимодействовать как через графический интерфейс, так и через консоль. Ниже будет рассмотрен именно второй вариант, работа на сервере, подключенного через 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