6.4.3 Як архівувати та розпаковувати архіви через SSH. Робота з архівами через SSH

TheHost Unzip Banner

Архіви є невід’ємною частиною сучасної роботи з даними, забезпечуючи ефективне стиснення інформації та економію місця на файловій системі. Проте їх значення не обмежується лише компактністю – архіви також є зручним та надійним засобом зберігання інформації. У цій статті ми розглянемо ключові консольні інструменти для роботи з архівами за допомогою 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 вона працює повільніше та вимагає більше обчислювальних ресурсів, але забезпечує більш ефективне стиснення.
  • ZIP (.zip) – застосовується на операційних системах Windows і дозволяє стискати файли та каталоги за допомогою різних алгоритмів. ZIP підтримується практично всіма операційними системами, включаючи Windows, Mac OS X та Unix/Linux. Також можливе створення саморозпаковуючого архіву у вигляді виконуваного SFX-файла.
  • RAR (.rar) – використовується для роботи з архівацією на операційних системах сімейства Windows. Аналогічно до формату ZIP, RAR підтримується багатьма операційними системами.

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

Загальний синтаксис команд:

tar -аргумент ім'я_або_шлях_до_архіву цільовий_файл_або_каталог

Основні аргументи:

  • -c – створити архів.
  • -f – вивести ім’я або шлях до архіву.
  • -t – показати файли в архіві (застосовується до вже створеного архіву).
  • -v – показати оброблювані файли.
  • -a – стиснути або витягнути дані з архіву з автоматичним вибором утиліти (gzip, bzip та інші), залежно від вказаного розширення. Наприклад, якщо файл називається file.tar.gz, то до архіву автоматично буде застосовано стиснення за допомогою gzip.
  • -x – розархіувати дані з архіву.
Приклад: створення архіву .tar
tar -cfv /var/www/example.tar /var/www/examplesite
Приклад: розархівація архіву .tar в поточний каталог
tar -xfv /var/www/example.tar
Приклад: розархівація архіву .tar в певний каталог
tar -xfv /var/www/example.tar -С /var/www/examplesite
Приклад: створення архіву .tar.gz
tar -cfva /var/www/example.tar.gz /var/www/examplesite
Приклад: розархівація архіву .tar.gz в поточний каталог
tar -xfva /var/www/example.tar.gz
Приклад: розархівація архіву .tar.gz в певний каталог
tar -xfva /var/www/example.tar.gz -C /var/www/examplesite
Приклад: створення архіву .tar.bz2
tar -cfva /var/www/example.tar.bz2 /var/www/examplesite
Приклад: розархівація архіву .tar.bz2 в поточний каталог
tar -xfva /var/www/example.tar.bz2
Приклад: розархівація архіву .tar.bz2 в певний каталог
tar -xfva /var/www/example.tar.bz2 -C /var/www/examplesite

Робота з .zip-архівами

Для роботи з цим типом архівів будуть використовуватися програми zip та unzip.

Зверніть увагу: на деяких дистрибутивах ці утиліти можуть бути відсутні, тому перед роботою слід встановити відповідні пакети.

CentOS/AlmaLinux/RockyLinux
sudo yum insatall zip unzip -y
Debian/Ubuntu
sudo apt-get install zip unzip -y
Приклад: створення архіву .zip
zip /var/www/example.zip /var/www/examplesite
Приклад: розархівація даних з архіву .zip
unzip /var/www/example.zip -d /var/www/examplesite

Якщо не вказувати аргумент -d, то файли будуть розпаковані в каталог, де знаходиться архів, вказаний у команді.

Приклад: додавання файлів до існуючого архіву .zip
zip /var/www/example.zip /var/www/newfile1.txt /var/www/newfile2.txt
Приклад: перегляд вмісту архіву .zip
unzip -l /var/www/example.zip
Приклад: розархівація конкретних файлів з архіву .zip
unzip /var/www/example.zip file1.txt file2.txt -d /var/www/examplesite

Робота з .rar-архівами

Для роботи з архівами .rar знадобляться утиліти rar та unrar.

Зверніть увагу: на деяких дистрибутивах ця утиліта може бути відсутньою, тому перед роботою слід встановити відповідні пакети.

CentOS/AlmaLinux/RockyLinux
sudo yum install unrar rar -y
Debian/Ubuntu
sudo apt-get install unrar rar -y
Приклад: архівація даних в архів .rar

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

rar -r /var/www/example.rar /var/www/examplesite
Приклад: розархівація даних з архіву .rar
unrar x /var/www/example.rar /var/www/examplesite

Це не є помилкою, вам потрібен саме аргумент x для розархівації. Аргумент -x дозволяє вказати винятки при виконанні команди.

Приклад: додавання файлів до існуючого архіву .rar
rar a /var/www/example.rar /var/www/newfile1.txt /var/www/newfile2.txt
Приклад: перегляд вмісту архіву .rar
unrar l /var/www/example.rar
Приклад: розархівація конкретних файлів з архіву .rar
unrar e /var/www/example.rar file1.txt file2.txt /var/www/examplesite