HostPro 24 роки! Подарунки всім нашим клієнтам!

Забрати дарунок

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

post thumbnail

Коли потрібно об’єднати дані в одному файлі, незамінним інструментом є утиліти для архівування. 

Архів – це файл, який об’єднує один або кілька інших файлів та/або директорій у єдину структуру. Його основна мета – спрощення зберігання, передачі або резервного копіювання даних. Архіви часто стискаються, що дозволяє значно зменшити розмір файлів без втрати їхньої структури чи вмісту.

Використання архівів також дозволяє виконати збереження структури директорій та дозволів файлів, що критично для резервного копіювання та розгортання програмного забезпечення.

Як встановити Python на Linux

Незалежно від формату – .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

Робота з архівами в Linux: .zip, .tar, .gz, .rar

За замовчуванням, якщо файл з таким самим іменем вже існує в каталозі, утиліта 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.

Робота з архівами в Linux: .zip, .tar, .gz, .rar

Якщо 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) за допомогою командного рядка. Застосовуючи наведені приклади, ви можете легко вирішувати різноманітні завдання, пов’язані з архівуванням даних.

Telegram Hostpro

Наш телеграм

з важливими анонсами, розіграшами й мемами

Приєднатися

Можливо, вас зацікавить

Найкращі практики захисту Windows SSH сервера

Найкращі практики захисту Windows SSH сервера

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

Hostpro Company | Оновлено: 08.01.2025

Як налаштувати SSH сервер на Windows

Як налаштувати SSH сервер на Windows

SSH (Secure Shell) – це мережевий протокол, який надає безпечний доступ до віддалених систем...

Hostpro Company | Оновлено: 06.11.2024

Як отримати доступ по SSH?

Як отримати доступ по SSH?

SSH (Secure SHell – безпечна оболонка) – це мережевий протокол, який використовується для безпечного...

Diana Honcharenko | Оновлено: 04.03.2024

Як самостійно перейти на вищий тариф VPS 

Як самостійно перейти на вищий тариф VPS 

Нещодавно ми додали функціонал для самостійної зміни тарифу віртуального сервера. Діє він у межах...

Diana Honcharenko | Оновлено: 22.12.2023