Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills
01.08.2025

Как да отпечатате файл в Linux: Ръководство за напреднали за опитни потребители

Извличането на .tar, .tar.gz, .tar.bz2 и други тарбал файлове е важно умение в системната администрация на 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'

Време за извличане на бенчмарка

време tar -xf archive.tar.gz

Обработка на крайни случаи

? Файлът е повреден

Използвайте tar с –ignore-zeros, за да пропуснете повредените блокове:

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