Формат файлів .tar.gz є широко використовуваним форматом стисненого архіву в Linux. Він поєднує в собі два процеси: tar (стрічковий архів), який збирає кілька файлів в один, і gzip, який їх стискає. Видобування файлів .tar.gz за допомогою командного рядка Linux є фундаментальною навичкою для системних адміністраторів, розробників та досвідчених користувачів. У цьому посібнику ми розглянемо різні методи ефективного розпакування .tar.gz файлів і дослідимо пов’язані з ними варіанти роботи з цими архівами.

Для користувачів, які працюють на віртуальних або виділених серверах, особливо в середовищах веб-хостингу, таких як AvaHost, вміння керувати архівами .tar.gz є дуже важливим. Незалежно від того, чи розгортаєте ви веб-додатки, чи відновлюєте резервні копії, чи працюєте з вихідними пакетами, знання того, як розпаковувати ці архіви та маніпулювати ними, допомагає спростити управління сервером. AvaHost надає повний root-доступ на серверах на базі Linux, надаючи користувачам інструменти та гнучкість, необхідні для впевненого керування стисненими файлами та автоматизації робочих процесів.

Розуміння формату .tar.gz

Файл .tar.gz складається з:

  • .tar (стрічковий архів): Об’єднує декілька файлів в один архів без стиснення.
  • .gz (Gzip-архів): Стискає .tar-архів для зменшення його розміру.

Для розпакування таких файлів ми використовуємо команду tar, яка є універсальною утилітою для роботи зі стиснутими і нестиснутими tar-архівами.

Видобування файлів .tar.gz

Основною командою для розпакування .tar.gz файлів є

tar -xvzf archive.tar.gz

Видобування до певного каталогу

Щоб витягти вміст до певного каталогу, використовуйте:

tar -xvzf archive.tar.gz -C /path/to/destination/

Це гарантує, що файли буде витягнуто до /шлях/до/призначення/, а не до поточного каталогу.

Видобування без докладного виводу

Для тихого видобування (без виведення назв файлів, що видобуваються):

tar -xzf archive.tar.gz

Перегляд вмісту файлу .tar.gz

Перед розпакуванням ви можете переглянути вміст архіву:

tar -tzf archive.tar.gz

Це дасть змогу переглянути всі файли і каталоги всередині архіву .tar.gz без їх розпакування.

Видобування одного файлу з архіву .tar.gz

Якщо вам потрібен лише певний файл з архіву, використовуйте:

tar -xvzf archive.tar.gz path/to/file.txt

Це витягне лише шлях/до/файлу.txt, не впливаючи на інші файли в архіві.

Видобування кількох певних файлів

Щоб видобути кілька файлів, перелічіть їх через пробіли:

tar -xvzf archive.tar.gz file1.txt file2.txt

Робота з файлами .tar.gz без розпакування

Іноді вам може знадобитися знайти файл всередині архіву .tar.gz без його розпакування. Використовуйте:

tar -tzf archive.tar.gz | grep "filename"

Це дозволить відфільтрувати і відобразити файли, які відповідають заданому шаблону.

Розпакування файлу .tar.gz від імені користувача root

У деяких випадках, особливо під час видобування системних файлів, вам можуть знадобитися привілеї суперкористувача:

sudo tar -xvzf archive.tar.gz -C /restricted/path/

Робота з великими файлами .tar.gz

Для великих архівів використовуйте команду pv (якщо її встановлено), щоб показати прогрес:

pv archive.tar.gz | tar -xzvf -

Крім того, використовуйте параметр --checkpoint:

tar --checkpoint=100 -xvzf archive.tar.gz

Це призведе до виведення повідомлення після кожних 100 видобутих файлів.

Типові помилки та способи їх усунення

1. “tar: Команда не знайдена”

Якщо tar не встановлено, встановіть його за допомогою:

sudo apt install tar  # Debian/Ubuntu
sudo yum install tar  # CentOS/RHEL

2. “Неможливо відкрити: Немає такого файлу або каталогу”

Переконайтеся, що ви перебуваєте в правильному каталозі або вкажіть повний шлях до архіву:

tar -xvzf /full/path/to/archive.tar.gz

3. “tar”: Вихід з помилки відкладено через попередні помилки”

Зазвичай це трапляється через проблеми з правами доступу. Спробуйте виконати розархівування від імені користувача root:

sudo tar -xvzf archive.tar.gz

Висновок

Витягнення .tar.gz файлів в Linux є простим завданням за допомогою команди tar. Незалежно від того, чи потрібно вам витягти цілий архів, конкретний файл або ефективно обробляти великі файли, знання цих команд покращить ваш робочий процес у Linux. Якщо ви часто працюєте з архівами .tar.gz, подумайте про автоматизацію видобування за допомогою командних сценаріїв, щоб заощадити час і зусилля.