Image

Полное руководство по работе с tar: флаги, примеры, советы

Утилита tar (от tape archive) используется для архивирования и извлечения файлов и каталогов в Linux. Это мощный инструмент, который поддерживает различные операции, такие как создание архивов, их распаковка, сжатие и проверка целостности.


Основные флаги tar
Основные операции:

-c: Создание нового архива (create).
-x: Извлечение из архива (extract).
-t: Просмотр содержимого архива (list).

Настройка ввода/вывода:

-f: Указывает файл архива (archive file). Без этого флага tar будет работать с устройствами ввода/вывода.
-C: Указывает директорию для извлечения (change to directory).

Сжатие:

-z: Сжатие/распаковка с помощью Gzip (.tar.gz или .tgz).
-j: Сжатие/распаковка с помощью Bzip2 (.tar.bz2).
-J: Сжатие/распаковка с помощью XZ (.tar.xz).

Права доступа:

-p: Сохраняет права доступа файлов при извлечении.
--same-owner: Сохраняет владельцев файлов (требуются root-права).

Вывод:

-v: Подробный вывод действий (verbose).
--progress: Показывает прогресс выполнения (в новых версиях).

Проверка и восстановление:

--verify: Проверяет целостность архива после создания.
--remove-files: Удаляет исходные файлы после добавления в архив.

Примеры использования tar

  1. Создание архива
    Архивирование без сжатия:

tar -cvf archive_name.tar /path/to/directory

-c: Создать архив.
-v: Показать, какие файлы добавляются.
-f: Указать имя архива.

Архивирование с сжатием Gzip:

tar -cvzf archive_name.tar.gz /path/to/directory

-z: Использовать Gzip.

Архивирование с сжатием Bzip2:

tar -cvjf archive_name.tar.bz2 /path/to/directory

-j: Использовать Bzip2.

Архивирование с сжатием XZ:

tar -cvJf archive_name.tar.xz /path/to/directory

-J: Использовать XZ.
  1. Извлечение архива
    Извлечение из несжатого архива:

tar -xvf archive_name.tar

-x: Извлечение файлов.

Извлечение из архива Gzip:

tar -xvzf archive_name.tar.gz

Извлечение из архива в определенную директорию:

tar -xvf archive_name.tar -C /path/to/extract

-C: Указать директорию для извлечения.
  1. Просмотр содержимого архива
    Вывести список файлов:

tar -tvf archive_name.tar

  1. Добавление файлов в существующий архив
    Добавление файла:

tar -rvf archive_name.tar file_to_add

-r: Добавить файл.
  1. Проверка архива
    Проверить целостность:

tar -tvf archive_name.tar

Полезные советы

Сохранение прав доступа и владельцев: Для архивирования системных файлов:

sudo tar -cvpf system_backup.tar /etc /home

-p: Сохраняет права доступа.
--same-owner: Сохраняет владельцев.

Игнорирование ошибок: Если в процессе встречаются ошибки:

tar -cvpf archive_name.tar /path/to/files --ignore-failed-read

Сравнение размера архива: После создания архива:

du -h archive_name.tar

Типичные сценарии

  1. Создание резервной копии

Создать архив домашней директории и сохранить в /backup:

sudo tar -cvpzf /backup/home_backup.tar.gz /home

  1. Перенос веб-сайта

Архивировать сайт:

tar -cvzf website_backup.tar.gz /var/www/html

Распаковать на другом сервере:

tar -xvzf website_backup.tar.gz -C /var/www/html


Заключение

tar — это мощный инструмент для работы с архивами. Благодаря множеству флагов вы можете настроить процесс архивации под любые задачи. Независимо от того, создаете ли вы резервные копии или переносите данные, tar остается надежным выбором для системных администраторов и пользователей Linux.

Комментарии

Добавить комментарий