Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
01.08.2025

Як надрукувати файл у Linux: Посібник для досвідчених користувачів

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

У цьому посібнику ви дізнаєтеся про все, від базової декомпресії до умовного вилучення, бенчмаркінгу та роботи з пошкодженими резервними копіями.

Що таке файл .tar?

Файл .tar (скорочення від Tape Archive) – це консолідований архів, який об’єднує декілька файлів в один, зберігаючи структуру файлів, дозволи та мітки часу. За замовчуванням він не стискається. Стиснення часто накладається на такі формати, як .gz, .bz2, .xz або .zstd.

Основні команди видобування

1. Розпакування .tar-файлу (без стиснення)

tar -xf archive.tar

2. Витягнути файл .tar.gz або .tgz

tar -xzf archive.tar.gz

3. Розпакуйте файл .tar.bz2

tar -xjf archive.tar.bz2

4. Розпакуйте файл .tar.xz

tar -xJf archive.tar.xz

5. Розпакувати файл .tar.zst (Zstandard)

tar --use-compress-program=unzstd -xf archive.tar.zst

Загальні розширені прапори

ПрапорФункція
-xОтримано з
-fВикористовувати архівний файл
-vВказаний вивід (список файлів)
-CЗмінити каталог перед видобуванням
–strip-components=NВилучити перші N елементів шляху
–wildcardsУвімкнути фільтрацію підставних символів
–no-same-ownerУникати зміни власників файлів під час видобування
–overwriteПримусовий перезапис без підказок
–exclude=PATTERNВиключити файли, що відповідають шаблону

Розширені приклади

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

tar -xf archive.tar.gz -C /opt/myapp

Видаліть папку верхнього рівня (вирівняйте структуру)

tar -xf archive.tar.gz --strip-components=1

Витягніть певні файли

tar -xf archive.tar.gz path/to/file1 path/to/file2

Витяг шаблону за допомогою підстановочних знаків

tar -xf archive.tar.gz --wildcards '*.conf'

Видобування з виключенням деяких шляхів

tar -xf archive.tar.gz --exclude='*.log'

Заміряйте час видобування

time tar -xf archive.tar.gz

Обробка крайніх випадків

? Файл пошкоджено

Використовуйте tar з параметром –ігнорувати-нулі, щоб пропустити пошкоджені блоки:

tar -xzf broken.tar.gz --ignore-zeros

? Попередній перегляд архіву перед розпакуванням

tar -tf archive.tar.gz # Список файлів

Перевірка цілісності (для стиснутих gzip-архівів)

gzip -t archive.tar.gz && echo "Archive OK"

Поради щодо написання сценаріїв для системних адміністраторів

Використовуйте tar у скриптах резервного копіювання/відновлення:

#!/bin/bash
TARGET_DIR="/var/www"
ARCHIVE="/backups/site-$(date +%F).tar.gz"

tar -czf "$ARCHIVE" -C "$TARGET_DIR" . && echo "Backup saved to $ARCHIVE"

Або автоматично розпакувати та встановити:

#!/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

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills