Формат файлів .tar.gz є широко використовуваним форматом стисненого архіву в Linux. Він поєднує в собі два процеси: tar (стрічковий архів), який збирає кілька файлів в один, і gzip, який їх стискає. Видобування файлів .tar.gz за допомогою командного рядка Linux є фундаментальною навичкою для системних адміністраторів, розробників та досвідчених користувачів. У цьому посібнику ми розглянемо різні методи ефективного розпакування .tar.gz файлів і дослідимо пов’язані з ними варіанти роботи з цими архівами.
Файл .tar.gz складається з:
Для розпакування таких файлів ми використовуємо команду tar, яка є універсальною утилітою для роботи зі стиснутими і нестиснутими tar-архівами.
Основною командою для розпакування .tar.gz файлів є
tar -xvzf archive.tar.gz
Щоб витягти вміст до певного каталогу, скористайтеся:
tar -xvzf archive.tar.gz -C /path/to/destination/
Це гарантує, що файли буде витягнуто до /шлях/до/призначення/, а не до поточного каталогу.
Для тихого видобування (без виведення назв файлів, що видобуваються):
tar -xzf archive.tar.gz
Перед розпакуванням ви можете переглянути вміст архіву:
tar -tzf archive.tar.gz
У результаті буде показано список усіх файлів і каталогів всередині архіву .tar.gz без їх розпакування.
Якщо вам потрібен лише певний файл з архіву, скористайтеся командою
tar -xvzf archive.tar.gz шлях/до/файлу.txt
Це витягне лише файл path/to/file.txt, не впливаючи на інші файли в архіві.
Щоб видобути кілька файлів, перелічіть їх через пробіли:
tar -xvzf archive.tar.gz file1.txt file2.txt
Іноді вам може знадобитися знайти файл у .tar.gz
архіві без його розпакування. Скористайтеся командою
tar -tzf archive.tar.gz | grep "filename"
Це відфільтрує і покаже файли, які відповідають заданому шаблону.
У деяких випадках, особливо під час видобування системних файлів, вам можуть знадобитися привілеї суперкористувача:
sudo tar -xvzf archive.tar.gz -C /restricted/path/
Для великих архівів скористайтеся командою pv (якщо її встановлено), щоб показати хід виконання:
pv archive.tar.gz | tar -xzvf -
Також можна скористатися параметром --checkpoint
:
tar --checkpoint=100 -xvzf archive.tar.gz
У результаті буде показано повідомлення після кожних 100 видобутих файлів.
Якщо tar
не встановлено, встановіть його за допомогою:
sudo apt install tar # Debian/Ubuntu
sudo yum install tar # CentOS/RHEL
Переконайтеся, що ви перебуваєте у правильному каталозі або вкажіть повний шлях до архіву:
tar -xvzf /full/path/to/archive.tar.gz
Зазвичай це трапляється через проблеми з правами доступу. Спробуйте виконати розархівування від імені користувача root:
sudo tar -xvzf archive.tar.gz
Витягнення .tar.gz файлів у Linux є простим завданням за допомогою команди tar. Незалежно від того, чи потрібно вам видобути цілий архів, конкретний файл або ефективно працювати з великими файлами, знання цих команд покращить ваш робочий процес у Linux. Якщо ви часто працюєте з архівами .tar.gz, подумайте про автоматизацію видобування за допомогою командних сценаріїв, щоб заощадити час і зусилля.