Home » tar – Команда для извлечения и сжатия файлов в Unix системах
tar – Команда для извлечения и сжатия файлов в Unix системах

tar – Команда для извлечения и сжатия файлов в Unix системах

Введение

Команда tar (от англ. “tape archive”) представляет собой утилиту в операционной системе Linux, которая используется для создания, извлечения и сжатия файловых архивов. Она позволяет объединять несколько файлов в один архив и сохранять их структуру и метаданные. Команда tar является одной из самых распространенных утилит в Linux и широко используется администраторами систем, разработчиками программного обеспечения и другими пользователями.

Официальная страница tar: https://www.gnu.org/software/tar/

Команда tar была написана на языке программирования C.

Установка

Команда tar уже предустановлена в большинстве дистрибутивов Linux. Если она отсутствует, вы можете установить ее с помощью менеджера пакетов вашей операционной системы. Ниже приведены инструкции для некоторых популярных дистрибутивов:

Ubuntu и Debian

sudo apt-get install tar

CentOS и Fedora

sudo yum install tar

Arch Linux

sudo pacman -S tar

Основные команды

Создание архива

tar -cvf archive.tar file1 file2 directory

Эта команда создает архив с именем “archive.tar” и включает в него файлы “file1”, “file2” и директорию “directory”. Параметр “-c” указывает на создание архива, “-v” включает вывод подробной информации о процессе.

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

tar -xvf archive.tar

Эта команда извлекает файлы из архива “archive.tar”. Параметр “-x” указывает на извлечение архива.

Сжатие архива

tar -czvf archive.tar.gz file1 file2 directory

Эта команда создает сжатый архив с именем “archive.tar.gz” и включает в него файлы “file1”, “file2” и директорию “directory”. Параметр “-z” указывает на сжатие архива с использованием алгоритма gzip.

Распаковка сжатого архива

tar -xzvf archive.tar.gz

Эта команда распаковывает сжатый архив “archive.tar.gz”. Параметр “-x” указывает на извлечение архива, “-z” указывает на использование алгоритма gzip.

Преимущества tar

– Простота использования: команда tar имеет простой и понятный синтаксис, что делает ее доступной для широкого круга пользователей.
– Поддержка различных форматов архивов: tar поддерживает создание и извлечение архивов в различных форматах, таких как tar, tar.gz, tar.bz2 и других.
– Сохранение структуры и метаданных: при создании архива tar сохраняет структуру файлов и директорий, а также их метаданные, такие как права доступа, владелец и группа.
– Возможность сжатия: tar позволяет сжимать архивы с использованием различных алгоритмов сжатия, таких как gzip и bzip2.
– Поддержка архивации больших файлов: tar может обрабатывать файлы размером более 4 ГБ.

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

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

#!/bin/bash
# Создание резервной копии директории "data" в архив "backup.tar.gz"
tar -czvf backup.tar.gz data

Распаковка архива

#!/bin/bash
# Распаковка архива "backup.tar.gz" в директорию "restored_data"
tar -xzvf backup.tar.gz -C restored_data

Автоматическое обновление архива

#!/bin/bash
# Создание резервной копии директории "data" в архив "backup.tar.gz"
tar -czvf backup.tar.gz data
# Проверка, существует ли предыдущая резервная копия
if [ -f previous_backup.tar.gz ]; then
# Сравнение текущего архива с предыдущей резервной копией
diff backup.tar.gz previous_backup.tar.gz > diff.txt
# Если есть различия, сохраняем новую резервную копию
if [ -s diff.txt ]; then
mv backup.tar.gz previous_backup.tar.gz
else
rm backup.tar.gz
fi
rm diff.txt
else
mv backup.tar.gz previous_backup.tar.gz
fi

Список команд tar

Команда Описание
-c, –create Создание архива
-x, –extract Извлечение архива
-v, –verbose Подробный вывод
-f, –file <file> Имя архива
-z, –gzip Сжатие архива с использованием gzip
-j, –bzip2 Сжатие архива с использованием bzip2
-C <directory> Изменение текущей директории перед выполнением команды

Заключение

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


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked