Як розпакувати і створити архіви в Linux: .zip, .tar, .gz, .rar

Коли потрібно об’єднати дані в одному файлі, незамінним інструментом є утиліти для архівування.
Архів – це файл, який об’єднує один або кілька інших файлів та/або директорій у єдину структуру. Його основна мета – спрощення зберігання, передачі або резервного копіювання даних. Архіви часто стискаються, що дозволяє значно зменшити розмір файлів без втрати їхньої структури чи вмісту.
Використання архівів також дозволяє виконати збереження структури директорій та дозволів файлів, що критично для резервного копіювання та розгортання програмного забезпечення.
Незалежно від формату – .zip, .tar, .gz чи .rar – Linux пропонує прості й гнучкі інструменти для роботи з ними. У цій статті ви дізнаєтесь, як створювати, розпаковувати та оптимально використовувати архіви у своїх завданнях.
1. Робота з архівом .zip у Linux
Архіви формату .zip є одними з найпоширеніших для стиснення та зберігання файлів. У Linux для роботи з ними використовуються спеціальні утиліти zip (для створення архівів) та unzip (для їх розпакування).
Утиліта zip
Найпростіша команда для створення архіву:
# zip archive.zip file1.txt file2.txt
Ця команда створює архів з назвою archive.zip, який містить два файли: file1.txt та file2.txt. Щоб архівувати каталог разом з усіма його файлами та підкаталогами, потрібно використовувати параметр -r (рекурсивно):
# zip -r archive.zip directory
Ця команда створить архів archive.zip, який міститиме всі файли з каталогу directory, включно з його підкаталогами.
Зверніть увагу! Якщо пропустити параметр -r, в архів буде додано лише сам каталог, але без файлів усередині.
Утиліта zip у Linux дозволяє створювати захищені паролем архіви за допомогою параметра -e. Це передбачає базовий рівень безпеки, оскільки для доступу до файлів в архіві користувач повинен ввести пароль.
# zip -e archive.zip file1.txt file2.txt file2.txt
Наведена вище команда створює архів з назвою archive.zip та додає до нього файли file1.txt і file2.txt. Крім того, вона встановлює пароль для архіву, що надає базовий рівень захисту вмісту.
Після виконання команди термінал виведе запит для введення пароля:
# Enter password: – ВВЕСТИ ПАРОЛЬ
# Verify password: – ПІДТВЕРДИТИ ПАРОЛЬ
Ви вводите пароль, а потім підтверджуєте його повторним введенням. Для безпеки пароль не буде відображатися в терміналі. Створений архів буде захищений паролем. Щоб розпакувати його, потрібно буде ввести цей пароль.
Щоб додати нові файли до вже створеного архіву .zip, використовується все та ж утиліта zip:
# zip archive.zip newfile.txt
Ця команда додасть newfile.txt до архіву archive.zip, якщо такий файл ще не існує в архіві.
Щоб видалити файли з архіву .zip, використовуйте команду zip з параметром -d:
# zip -d archive.zip file1.txt
Ця команда видалить file1.txt з архіву archive.zip.
Утиліта unzip
Для розпакування архівів формату .zip у Linux використовується утиліта unzip. Вона є простою у використанні, але має багато цікавих параметрів для гнучкої роботи. Розглянемо основні та додаткові можливості цієї утиліти.
Найпростішою командою для розпакування архіву є:
# unzip archive.zip
Ця команда розпаковує архів у поточний каталог. Щоб розпакувати архів у конкретний каталог, використовуйте параметр -d:
# unzip archive.zip -d /шлях/до/директорії/
де /шлях/до/директорії/ – шлях до каталогу, куди потрібно розпакувати архів.
Якщо каталогу не існує, його потрібно створити заздалегідь (наприклад, командою mkdir -p /шлях/до/директорії/).
Обидві команди для розархівування, що наведені вище, підходять для розархівування архіву, захищеного паролем. Після їх введення необхідно буде додатково ввести пароль. При введенні правильного пароля архів буде успішно розпакований. Якщо пароль неправильний, система повідомить про помилку. Якщо потрібно уникнути введення пароля вручну, можна використати параметр -P, щоб вказати пароль прямо в команді:
# unzip -P «ваш_пароль» archive.zip
Увага! Використання цього підходу небезпечне, оскільки пароль зберігається в історії термінала. Краще використовувати цей метод лише в скриптах, де це необхідно, і переконатися, що доступ до них обмежений.
Також зверніть увагу! Пароль захищає лише вміст файлів, але не сам архів. Наприклад, список файлів можна побачити без пароля за допомогою наступної команди:
# unzip -l archive.zip

За замовчуванням, якщо файл з таким самим іменем вже існує в каталозі, утиліта unzip запитує, чи потрібно його перезаписати. Щоб автоматично перезаписувати файли, ви можете використовувати параметр -o:
# unzip -o archive.zip
Це корисно для автоматизованих сценаріїв, де взаємодія з користувачем небажана. Якщо ви хочете уникнути перезапису існуючих файлів, використовуйте параметр -n:
# unzip -n archive.zip
Файли, які вже є в каталозі, залишаться без змін, а нові файли будуть додані.
Як розпакувати тільки окремі файли
Іноді потрібно розпакувати лише окремі файли з архіву. Для цього вкажіть назви файлів після команди:
# unzip archive.zip file1.txt file2.txt file1.txt
Як розпакувати файли з певним розширенням
Також можна використовувати шаблони, наприклад, розпакувати всі файли з розширенням .txt:
# unzip archive.zip «*.txt»
У цьому випадку всі текстові файли будуть вилучені з архіву.
Як дізнатися, чи архів не пошкоджений
Щоб переконатися, що архів не пошкоджений, можна використати параметр -t:
# unzip -t archive.zip
Ця команда перевірить архів і повідомить, чи є проблеми.
Як розпакувати всі файли в одному каталозі
За замовчуванням архіви розпаковуються зі збереженням структури каталогів. Якщо потрібно розпакувати всі файли в одному каталозі, використовуйте параметр -j:
# unzip -j archive.zip
Це дозволяє вилучити всі файли, ігноруючи їх початкові шляхи.
Як дізнатися прогрес розпакування
Якщо ви розпаковуєте великий архів та хочете бачити детальний прогрес, використовуйте опцію -v:
# unzip -v archive.zip
Що робити, якщо утиліт zip та unzip немає?
Зверніть увагу! На деяких дистрибутивах Linux утиліти zip та unzip можуть бути відсутні за замовчуванням. Перед початком роботи їх необхідно встановити. Для CentOS, AlmaLinux, RockyLinux виконайте команду:
# yum install zip unzip -y
Для Debian, Ubuntu використовуйте команду:
# apt-get install zip unzip -y
Цей крок гарантує, що всі необхідні інструменти будуть доступні для роботи з архівами. Тепер ви з інструментами zip та unzip у Linux!
2. Робота з архівом .tar та .gz у Linux
Формати .tar та .gz зазвичай використовуються в Linux для упаковки файлів і стиснення. Архіви tar об’єднують кілька файлів у єдиний архів, а gz забезпечує стиснення. Часто ці формати використовуються разом, створюючи файли з розширенням .tar.gz.
Для створення архіву використовується утиліта tar:
# tar -cvf archive.tar file1.txt file2.txt file2.txt directory/
Параметри, які використовуються у команді вище:
- -c – створення нового архіву;
- -v – відображення процесу (опціонально);
- -f – вказує, що далі буде ім’я файлу архіву.
У результаті буде створено архів archive.tar, який містить файли file1.txt, file2.txt та вміст каталогу directory/.
Щоб створити архів зі стисненням, додається параметр -z:
# tar -czvf archive.tar.gz file1.txt file2.txt directory/
-z – стиснення за допомогою Gzip.
У результаті створюється стиснений архів archive.tar.gz, який займає менше місця, ніж звичайний .tar.
Зверніть увагу! Розширення архіву залежить від параметрів, використаних у команді tar.
Якщо ми створюємо архів без стиснення (використовується тільки об’єднання файлів у єдиний архів) – використовується розширення .tar. Тобто, архів буде мати назву archive.tar.
Якщо ми створюємо архів зі стисненням за допомогою Gzip – використовується розширення .tar.gz. Тобто, архів буде мати назву archive.tar.gz.
Додатково можна також розглянути різні типи стиснення – .gz, .bz2, .xz, тощо.
Якщо використати параметр -a, команда автоматично визначить тип стиснення за розширенням файлу:
# tar -cvfa archive.tar.gz file1.txt
Зверніть увагу! Параметр -a в утиліті tar використовується лише при створенні архіву для автоматичного вибору методу стиснення за розширенням файлу. При розпакуванні цей параметр не використовується.
Параметр -a працює лише для форматів стиснення, таких як .gz, .bz2, .xz, тощо.
Утиліта tar також дозволяє розпаковувати як звичайні архіви, так і архіви зі стисненням. Команда для розпакування файлів з архіву .tar:
# tar -xvf archive.tar
Параметри:
- -x – витяг файлів із архіву;
- -v – відображення процесу (опціонально);
- -f – вказує, що далі буде ім’я архіву.
Усі файли та каталоги з архіву будуть розпаковані в поточний каталог.
Розпакування зі стисненням
Для розпакування архіву зі стисненням Gzip (.tar.gz) використовується команда:
# tar -xzvf archive.tar.gz
Усі файли будуть розпаковані, а стиснення автоматично розпізнається.
Як самому вказати каталог, куди розпаковувати файли
За замовчуванням файли розпаковуються в поточний каталог. Щоб вказати інший каталог, використовуйте параметр -C:
# tar -xzvf archive.tar.gz -C /шлях/до/директорії
-C – вказує, куди розпакувати файли.
Як переглянути всі файли в архіві
Щоб переглянути, які файли містяться в архіві, ви можете використовувати команду з параметром -tvf:
# tar -tvf archive.tar.gz
-t – перегляд файлів у архіві без розпаковування.
У результаті ви побачите список файлів і їх структуру в архіві. Якщо потрібно вилучити тільки один файл, використовуйте:
# tar -xzvf archive.tar.gz specific_file.txt
Як перевірити, чи утиліта tar встановлена
Зверніть увагу! Утиліта tar зазвичай встановлена за замовчуванням на більшості дистрибутивів Linux, оскільки вона є базовим інструментом для роботи з архівами та пакетами.
Щоб перевірити, чи tar встановлено, виконайте команду:
# tar --version
Якщо утиліта встановлена, ви побачите версію tar.

Якщо tar відсутня, система повідомить наступне: “Command ‘tar’ not found”.
Як встановити tar, якщо його немає?
Усе залежить від дистрибутиву:
- Debian/Ubuntu:
# apt-get install tar -y
- CentOS/RHEL/AlmaLinux/RockyLinux:
# yum install tar -y
- Fedora:
# dnf install tar -y
Отже, завдяки утиліті tar ви зможете без проблем створювати, розпаковувати та керувати архівами, що дозволить значно полегшити процес збереження та обміну великими обсягами даних. А правильне використання параметрів команд допоможе вам зберегти час і уникнути помилок при роботі з архівами різних форматів.
3. Робота з архівом .rar у Linux
RAR (від Roshal Archive) – це популярна програма для стиснення файлів, що спрощує їх зберігання та передавання через мережу. У більшості дистрибутивів Linux утиліта rar не встановлена за замовчуванням, оскільки цей формат є власним і не є частиною стандартного пакета. Однак ви можете без проблем її встановити, щоб створювати або розпаковувати архіви в цьому форматі.
Для CentOS, AlmaLinux, Rocky Linux спочатку потрібно додати репозиторій EPEL (Extra Packages for Enterprise Linux), якщо він ще не доданий:
# yum install epel-release -y
Після цього встановіть утиліти rar та unrar:
# yum install rar unrar -y
Якщо ця команда не працює (що інколи буває через обмеження репозиторіїв), ви можете завантажити rar безпосередньо з офіційного сайту і вручну встановити пакет, що буде продемонстровано згодом.
Для Debian, Ubuntu виконайте команду для встановлення:
# apt update && sudo apt install rar unrar
Якщо пакети rar недоступні через стандартні репозиторії вашого дистрибутива, ви можете завантажити та встановити утиліту вручну. Для початку на сервері перейдіть до тимчасового каталогу, де буде збережено архів:
# cd /tmp/
Завантажте архів з офіційного сайту RARLAB, наприклад:
# wget https://www.rarlab.com/rar/rarlinux-x64-710b3.tar.gz
Після завантаження розпакуйте архів за допомогою команди tar:
# tar -xvf rarlinux-x64-710b3.tar.gz
Після розпакування архіву перейдіть в каталог, який містить утиліти:
# cd /tmp/rar
Виконайте копіювання утиліти rar та unrar в каталог /usr/bin для того, щоб утиліти були доступні з будь-якої директорії в системі. Таким чином, скопіюйте їх у стандартний каталог виконуваних файлів:
# cp rar unrar /usr/bin
Тепер ви можете використовувати команди rar і unrar для створення і розпакування архівів RAR. Щоб перевірити, чи успішно встановлено RAR, виконайте одну з команд:
# rar
# unrar
Якщо утиліти встановлені правильно, ви побачите довідкову інформацію про них або доступні команди. Синтаксис утиліт rar та unrar доволі простий та зручний для використання.
Як зробити архів rar
Щоб створити архів, використовується команда rar з параметром a.
# rar a archive.rar file1.txt file2.txt
- a – параметр для додавання файлів в архів;
- archive.rar – ім’я архіву;
- file1.txt, file2.txt – файли, які ви хочете додати до архіву.
Зверніть увагу! Під час використання параметрів утиліт rar і unrar не потрібно додавати зайві символи, за винятком окремих випадків.
Як додати файл до вже створеного архіву
Ми також можемо використовувати параметр a для додавання нового файлу до вже наявного архіву. Наприклад, додамо файл messages.txt до нашого файлу archive.rar наступною командою:
# rar a archive.rar messeges.txt
Як розпакувати архів в ту саму папку
Щоб розпакувати архів у поточному каталозі, скористайтеся такою командою з параметром x:
# unrar x archive.rar
Як розпакувати архів в іншу папку
Щоб розпакувати архів в іншу директорію, крім поточної, потрібно в кінці вказати шлях до неї. Наприклад:
# unrar x archive.rar /home/user/
Як подивитися всі файли в архіві rar
Також, ви можете переглянути список файлів в архіві без його розпакування:
# unrar l archive.rar
Як видалити файли з архіву rar
Щоб видалити файли з архіву, використовуйте команду з параметром d:
# rar d archive.rar file1.txt
d – параметр для видалення файлів з архіву.
Як оновити файл в архіві rar
Ви можете оновити файли в архіві за допомогою параметра u:
# rar u archive.rar /шлях/до/file1.txt
Під час оновлення файлу в архіві враховуйте такі деталі:
- якщо архів не містить file1.txt, він буде доданий;
- якщо в архіві вже є однойменний файл, але його вміст на диску змінився, то цей файл буде оновлено до останньої версії.
Ви також можете використовувати цю команду для оновлення кількох файлів одночасно, наприклад орієнтуючись на розширення .txt:
# rar u archive.rar *.txt
В цілому, утиліти rar та unrar дають змогу ефективно працювати з архівами в Linux, хоча й і можуть потребувати складніших кроків для їх встановлення на сервері.
Зверніть увагу! На shared-хостингу у HostPro немає утиліти для роботи з архівами RAR. Однак ви можете без проблем працювати з архівами формату .zip, .tar та .gz, які підтримуються за замовчуванням. Якщо ж ви працюєте на VPS, де є повний доступ до системи, можна налаштувати будь-які інструменти для роботи з різними форматами архівів, зокрема й .rar.
Висновок
Робота з архівами в Linux – навичка, яка може знадобитися кожному користувачу. У цій статті ми розглянули основні команди та інструменти для створення, розпакування та управління різними форматами архівів (.zip, .tar, .gz, .rar) за допомогою командного рядка. Застосовуючи наведені приклади, ви можете легко вирішувати різноманітні завдання, пов’язані з архівуванням даних.
Можливо, вас зацікавить

Найкращі практики захисту Windows SSH сервера
SSH-сервер відкриває доступ до віддаленого управління сервером, дозволяє адмініструвати системи та обмінюватися даними. Але...
Оновлено: 08.01.2025
|
Як налаштувати SSH сервер на Windows
SSH (Secure Shell) – це мережевий протокол, який надає безпечний доступ до віддалених систем...
Оновлено: 06.11.2024
|
Як отримати доступ по SSH?
SSH (Secure SHell – безпечна оболонка) – це мережевий протокол, який використовується для безпечного...
Оновлено: 04.03.2024
|
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися