Утилита tar предназначена для создания архивов файлов и каталогов. С помощью этой программы можно архивировать файлы, обновлять их в архиве и вводить в этот архив новые файлы. Можно архивировать и целые каталоги со всеми их файлами и подкаталогами. При необходимости все эти файлы и подкаталоги можно восстановить из архива. Программа tar предназначалась для создания архивов на лентах, отсюда и название tar (tape archive, т.е. "архив на ленте"). Архив можно создавать на любом устройстве, например на дискете или в архивном файле на диске. Программа tar - идеальное средство для создания резервных копий файлов или объединения нескольких файлов в один с целью передачи его по сети.
В операционной системе Linux программу tar часто используют для создания архивов на устройствах и в файлах. Ей можно дать указание архивировать файлы на определенном устройстве или в определенном файле, для чего служит опция f с именем устройства или файла. Синтаксис команды tar с опцией f очевиден из нижеследующего примера. Имя устройства или файла часто называют именем архива. При создании файла для tar-архива к имени этого файла обычно добавляется расширение .tar Это условное обозначение; оно не обязательно. В команде можно указать сколько угодно имен файлов. Если указано имя каталога, то в архив включаются и все подкаталоги этого каталога.
$ tar опцииf имя_архива.tar имена_файлов_и_каталогов
Для создания архива служит опция с. В сочетании с опцией f опция с приводит к созданию архива в файле или на устройстве. Эта опция ставится непосредственно перед опцией f. Обратите внимание, что дефиса перед опцией нет. В следующем примере каталог mydir и все его подкаталоги сохраняются в файле myarch.tar.
$ tar cf myarch.tar mydir
Потом пользователь может извлекать каталоги из архива, применяя команду tar с опцией х. Опция xf позволяет извлекать файлы из архивного файла или устройства. При извлечении формируются и все подкаталоги. В следующем примере посредством опции xf команде tar дается указание извлечь все файлы и подкаталоги из файла myarch.tar.
$ tar xf myarch.tar
Для добавления файлов в существующий архив служит опция r. В приведенном ниже примере пользователь добавляет файлы из каталога letters в архив myarch.tar.
$ tar rf myarch.tar letters
Если нужно изменить какой-либо файл в архивированных ранее каталогах, можно с помощью опции u дать команде указание обновить архив, заменив некоторые файлы их новыми версиями. Программа tar сравнивает время последнего изменения каждого архивированного файла и соответствующего файла в каталоге и копирует в архив все файлы с более поздней датой модификации. В архив будут добавлены и все вновь созданные в этих каталогах файлы. В следующем примере пользователь обновляет файл myarch.tar, вводя в него все измененные и вновь созданные в каталоге mydir файлы.
$ tar uf myarch.tar mydir
Если вы хотите посмотреть, какие файлы хранятся в архиве, дайте команду tar с опцией t. В следующем примере показано, как с помощью этой команды можно вызвать список всех файлов, хранящихся в архиве myarch.tar.
$ tar tf myarch.tar
Для создания резервных копий файлов на определенном устройстве укажите имя этого устройства в качестве имени архива. В следующем примере пользователь создает архив на дискете в устройстве /dev/fd0 и копирует в него все файлы из каталога mydir.
$ tar cf /dev/tdO mydir
Для того чтобы извлечь архивированные таким образом файлы, используйте опцию xf.
$ tar xf /dtv/fd0
Если архивируемые файлы занимают больше места, чем имеется на носителе, например на дискете, создайте tar-архив, состоящий из нескольких томов (дискет или лент).
Посредством опции M команде tar дается указание выводить сообщение о том, что текущий носитель заполнен. При архивировании файлов на дискете с использованием опции M в случае заполнения дискеты программа tar предложит вам вставить новую дискету. Таким образом вы сможете записать свой архив на нескольких дискетах.
$ tar cMf /dev/fd0 mydir
Чтобы распаковать архив, записанный на нескольких дискетах, вставьте первую дискету в дисковод и введите команду tar с опциями х и М, как показано ниже. Программа подскажет вам, когда надо вставить следующую дискету.
$ tar xMf /dev/fd0
При использовании команды tar операция сжатия архивных файлов не выполняется. Если вы хотите сжать файлы, дайте tar указание вызвать утилиту gzip. Если команда tar применяется с опцией z, то сначала программа gzip выполняет сжатие, а затем tar архивирует файлы. Та же опция z обеспечит вызов gzip для распаковки файлов при извлечении их из архива.
$ tar czf myarch.tar mydir
Помните, что между сжатием отдельных файлов с последующим архивированием и сжатием всего архива есть разница. Во многих случаях архив создается, чтобы переслать по сети несколько файлов в виде одного tar-файла. Для сокращения времени передачи размер этого архива должен быть по возможности небольшим. Чтобы добиться этого, можно с помощью утилиты gzip сжать архивный tar-файл, уменьшив его размер, а затем переслать сжатую версию. Получатель распакует его и восстановит файл. В результате применения утилиты gzip к tar -файлам часто получаются файлы с расши-рением .tar.gz. Расширение .gz добавляется к сжатому gzip-файлу. В следующем примере создается сжатая версия файла myarch.tar под тем же именем, но с расширением .gz.
$ gzip myarch.tar
$ la
myarch.tar.gz
Если вы хотите создать архив на некотором устройстве, например на ленте или в файле, нужно дать команду tar с опцией f и именем устройства или файла. Такой вариант эффективен при создании резервных копий файлов. Имя устройства по умолчанию хранится в файле /etc/default/tar. Синтаксис команды tar, подразумевающей использование устройства, заданного по умрлчанию (накопителя на магнитной ленте), приведен в показанном ниже примере. Опция f и имя устройства не задаются. Если указано имя каталога, то в архив включаются все его подкаталоги.
$ tar опция имена_каталогов_и_файлов
В представленном ниже примере каталог mydir со всеми подкаталогами сохраняется на ленте как на носителе по умолчанию.
$ tar с mydir
А в этом примере каталог mydir со всеми файлами и подкаталогами извлекается из устройства, принятого по умолчанию, и помещается в рабочий каталог пользователя.
$ tar x mydir
Приложение ХТаг системы Х Window позволяет с помощью окон и меню выбрать файл tar-архива и разархивировать его. Для того чтобы запустить это приложение, нужно ввести команду xtar в окне Xterm либо воспользоваться меню рабочей области fvwm. В ХТаr три меню: ХТаr, Options и Attributes. Сначала необходимо выбрать файл tar-архива, для чего используется элемент Open меню ХТаr. Откроется окно выбора файла, в котором перечислены находящиеся в каталоге файлы. Вы можете переходить из одного каталога в другой. Когда вы выберете нужный tar-архив, в главном окне появятся все содержащиеся в нем файлы. ХТаr позволяет распаковывать как весь tar-архив, так и отдельные его файлы. Чтобы распаковать весь архив, выберите элемент Unpack All в меню ХТаr. Элемент Unpack All As позволяет распаковать архив в выбранный вами каталог. Чтобы распаковать отдельный файл, сначала выберите его (для поиска можно использовать функцию Search из меню ХТаr), а затем выберите элемент Extract в меню Options. В этом же меню есть элемент View, который позволяет просто просматривать текстовые файлы, например файл README. ХТаг может работать и со сжатым архивом (распаковывать его предварительно не нужно).