Утилита tar — одна из самых популярных программ, используемых для резервного копирования в системах Linux и UNIX. Она объединяет несколько файлов в один файл архива, что упрощает передачу информации по сети и сохранение ее на резервном носителе. Название программы представляет собой сокращение слов tape archive (архив на ленте). Утилиту tar можно использовать для организации резервного копирования как по инициативе клиента, так и по инициативе сервера. Вместо tar в системе Linux могут применяться и другие подобные программы, например cpio или dump. Особенности работы с ними описаны в документации на программы и в справочной системе Linux. В данной главе обсуждается лишь программа tar; ей уделено особое внимание потому, что она наиболее популярна среди пользователей, а также потому, что она используется другими инструментальными средствами, например smbtar и AMANDA.
Возможности tar
Утилита tar — чрезвычайно мощный инструмент; она поддерживает большое количество опций. Опции программы tar делятся на две категории: команды и модификаторы. Команды указывают утилите tar, какие действия она должна выполнить, например, создать архив, вывести содержимое существующего архива, извлечь файлы и т.д. Модификаторы уточняют действия программы. С их помощью можно определить устройство, на которое следует записать архив, указать файлы, которые необходимо включить в архив, или задать сжатие архива посредством gzip или bzip2 и т.д. Утилита tar вызывается следующим образом:
tar
В качестве имен файлов в большинстве случаев задаются имена каталогов. Если при вызове программы задано имя каталога, tar включает в состав архива все файлы и все подкаталоги этого каталога. Чтобы создать архив всей файловой системы, надо указать корневой каталог (/).
В табл. 17.1 и 17.2 перечислены наиболее часто используемые команды и модификаторы утилиты tar. На самом деле набор допустимых опций гораздо более обширный и включает большое количество команд и модификаторов. Дополнительную информацию о них можно получить на страницах справочной системы, посвященных утилите tar.
Таблица 17.1. Часто употребляемые команды утилиты tar
| Команда | Сокращенный вариант | Описание |
|---|---|---|
--create | с | Создает архив |
--concatenate | A | Добавляет tar-файл к существующему архиву |
--append | r | Добавляет обычные файлы к существующему архиву |
--update | u | Добавляет файлы, которые имеют более позднюю дату создания, чем файлы с соответствующими именами, присутствующие в составе архива |
--diff или --compare | d | Сравнивает файлы в архиве с файлами на диске |
--list | t | Выводит содержимое архива |
--extract или --get | x | Извлекает файлы из архива |
Таблица 17.2. Часто употребляемые модификаторы утилиты tar