Как размонтировать файл в 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 с параметром –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