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
Модификатор |
Сокращенный вариант |
Описание |
--absolute-paths |
P |
Сохраняет символ / в начале пути к файлу |
--bzip2 |
I |
Задает обработку архива с помощью bzip2 . (В старых версиях tar не поддерживается) |
--directory каталог |
C |
Перед обработкой данных делает указанный каталог текущим |
--exclude файл |
(отсутствует) |
Запрещает включать файл в архив |
--exclude-from файл |
X |
Запрещает включать в архив файлы, указанные в данном файле |
--file [узел:] файл |
f |
Выполняет архивирование, используя в качестве архива указанный файл на указанном узле. (Узел сети указывается при выполнении резервного копирования, инициируемого клиентом.) |
--gzip или --ungzip |
z |
Задает обработку архива программой gzip или ungzip |
--listed-incremental= файл |
g |
Создает или использует файл, содержащий результаты инкрементного копирования |
--multi-volume |
M |
Задает обработку архива на нескольких лентах |
--one-file-system |
1 |
Сохраняет или восстанавливает только одну файловую систему |
--same-permissions или --preserve-permissions |
p |
Сохраняет информацию о пользователях и о правах доступа |
--tape-length N |
L |
Определяет длину ленты в килобайтах; используется совместно с --multi-volume |
--verbose |
v |
Выводит информацию об обработанных файлах |
--verify |
W |
Сразу после записи сравнивает исходный файл с файлом, записанным в архив |
В качестве примера использования приведенных выше опций рассмотрим следующую ситуацию. Предположим, что к компьютеру через интерфейс SCSI подключен накопитель на магнитных лентах. Для доступа к этому устройству используется имя /dev/st0
или /dev/nst0
. Для создания резервной копии содержимого каталога /home
с сохранением прав доступа и с выводом имен архивируемых файлов надо задать следующую команду:
# tar --create --verbose --file /dev/st0 /home
Если указать сокращенные обозначения опций, приведенные в табл. 17.1 и 17.2, то данная команда примет вид:
# tar cvf /dev/st0 /home
Некоторые опции программы tar
(а именно --one-file-system
, --same-permission
s, --listed-incremental
и --verify
) заслуживают более подробного обсуждения. В состав файловой системы Linux могут входить виртуальные файловые системы (например, /proс
) и сменные носители. Кроме того, не исключено, что вы захотите запретить резервное копирование файловых систем, находящихся на некоторых устройствах. При использовании опции --one-file-system
копироваться будут только те разделы, которые вы непосредственно укажете. Вместо --one-file-system
можно задать опцию --exclude
или --exclude-from
, которая позволяет непосредственно исключать из процесса резервного копирования некоторые каталоги, например /proc
.
Читать дальше