- Home »
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 является неотъемлемой частью работы администраторов систем и разработчиков программного обеспечения, и ее использование может значительно упростить и автоматизировать процессы в реальном мире.
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.