Як надрукувати файл у Linux: Посібник для досвідчених користувачів
Видобування .tar, .tar.gz, .tar.bz2 та інших tar-файлів є важливою навичкою в системному адмініструванні Linux та робочих процесах DevOps. Хоча на перший погляд tar може здатися простим, досвідчені користувачі можуть використовувати розширені прапорці і методи для підвищення ефективності, написання сценаріїв і тонкого контролю.
У цьому посібнику ви дізнаєтеся про все, від базової декомпресії до умовного вилучення, бенчмаркінгу та роботи з пошкодженими резервними копіями.
Що таке файл .tar?
Файл .tar (скорочення від Tape Archive) – це консолідований архів, який об’єднує декілька файлів в один, зберігаючи структуру файлів, дозволи та мітки часу. За замовчуванням він не стискається. Стиснення часто накладається на такі формати, як .gz, .bz2, .xz або .zstd.
Основні команди видобування
1. Розпакування .tar-файлу (без стиснення)
2. Витягнути файл .tar.gz або .tgz
3. Розпакуйте файл .tar.bz2
4. Розпакуйте файл .tar.xz
5. Розпакувати файл .tar.zst (Zstandard)
Загальні розширені прапори
Прапор | Функція |
---|---|
-x | Отримано з |
-f | Використовувати архівний файл |
-v | Вказаний вивід (список файлів) |
-C | Змінити каталог перед видобуванням |
–strip-components=N | Вилучити перші N елементів шляху |
–wildcards | Увімкнути фільтрацію підставних символів |
–no-same-owner | Уникати зміни власників файлів під час видобування |
–overwrite | Примусовий перезапис без підказок |
–exclude=PATTERN | Виключити файли, що відповідають шаблону |
Розширені приклади
Витягнути до певного каталогу
Видаліть папку верхнього рівня (вирівняйте структуру)
Витягніть певні файли
Витяг шаблону за допомогою підстановочних знаків
Видобування з виключенням деяких шляхів
Заміряйте час видобування
Обробка крайніх випадків
? Файл пошкоджено
Використовуйте tar з параметром –ігнорувати-нулі, щоб пропустити пошкоджені блоки:
? Попередній перегляд архіву перед розпакуванням
Перевірка цілісності (для стиснутих gzip-архівів)
Поради щодо написання сценаріїв для системних адміністраторів
Використовуйте tar у скриптах резервного копіювання/відновлення:
Або автоматично розпакувати та встановити:
#!/bin/bash
SRC="$1"
DEST="$2"
mkdir -p "$DEST"
tar -xzf "$SRC" -C "$DEST" --strip-components=1
Tar-файли необхідні для пакування, архівування та розгортання Linux. Опанувавши прапори видобування та інтегрувавши tar у скрипти, ви зможете маніпулювати архівами з хірургічною точністю – видобувати лише те, що вам потрібно, зберігати права власності, згладжувати шляхи або автоматизувати цілі робочі процеси.
Короткий довідник
# Basic
tar -xf file.tar # No compression
tar -xzf file.tar.gz # Gzip
tar -xjf file.tar.bz2 # Bzip2
tar -xJf file.tar.xz # XZ
tar --use-compress-program=unzstd -xf file.tar.zst # Zstandard
# Common options
tar -xvf archive.tar # Verbose
tar -C /target/dir -xf file.tar.gz # Extract to folder
tar --strip-components=1 -xf file.tar.gz # Remove top-level dir