Как да отпечатате файл в Linux: Ръководство за напреднали за опитни потребители
Извличането на .tar, .tar.gz, .tar.bz2 и други тарбал файлове е важно умение в системната администрация на 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 с –ignore-zeros, за да пропуснете повредените блокове:
? Прегледайте архива, преди да го екстрахирате
Проверка на целостта (за 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