В UNIXе для этого можно пользоваться двумя утилитами:
tar
- попроще в использовании, но не все умеетcpio
- более гибкая, чем tar, и посложнее.
Команда tar (Tape Archiver)
Предназначена для создания архивов на ленте, и в файлах.
Ключи: "-c" Create, "-x" eXtract, "-a" Append, "-t" оглавление
tar -cvf arhiw.tar fajl1 fajl2 katalog3 ... | создать архив |
tar -tvf /dev/rmt/ctape | вывести оглавление ленты |
tar -xvf arhiw.tar katalog3/fajl4 | извлечь из архива файл |
tar -xvf /dev/rmt/ctape | архив лежит на магнитной ленте извлечь с ленты все файлы |
tar -avf arhiw.tar fajl5 | добавить файл к архиву |
Ключи:
Команда CPIO. (Copy In/Out)
Команда cpio -o берет с системного ввода список имен и склеивает эти файлы вместе в один архив, выталкивая его на свой системный вывод.
Сбросить на ленту файлы по списку:
-o | - (output) создавать архив |
-H odc | - Записывать в "совместимом формате" (чтобы архив можно было считать на Beste или Sun'е) |
-c | - Записывать в "престарелом" совместимом формате |
cat spisok | cpio -ovB -H odc > /dev/rmt/ctape1 find katalog -print | cpio -ovc > arhiwnyj-fajl.cpioКоманда cpio -i читает с системного ввода cpio-архив и извлекает из него файлы
Просмотреть содержание стриммера:
cpio -itB < /dev/rmt/ctape
Извлечь файлы со стриммера:
cpio -idmvB ["шаблон" ...] < /dev/rmt/ctape
-B | Размер блока 5120 байт - стримерный формат. |
-d | Создавать каталоги в случае необходимости. |
-v | Вывести список имен обработанных файлов. |
-m | Сохранять прежнее время последней модификации. |
-f | Брать все файлы, кроме указанного шаблоном. |
-u | Безусловно заменять существующий файл архивным. |
-l | Где можно, не копировать, а делать ссылки. |
Архивация со сжатием.
Архиваторы tar и cpio, в отличие от DOS-овских архиваторов, не занимаются компрессией. Чтобы получить сжатый архив, нужно воспользоваться специализированной командой compress или gzip.
Команда compress читает свой системный ввод, а на свой системный выход подает "прожатые" данные.
Команда zcat ("сжатый cat":-) читает с системного входа "пожатый" файл, а на выход подает "разжатые" данные.
Создать сжатый tar-архив:
tar -cvf - emacs-19.28 | compress > emacs-19.28.tar.Z
Прочитать оглавление сжатого tar-архива:
zcat < emacs-19.28.tar.Z | tar -tvf -
Обратите внимание на ключ минус "-" на том месте, где в tar нужно указывать имя файла с архивом. Он означает "брать данные со стандартного входа" (или выводить архив на стандартный выход).
GNU Zip - достаточно известный упаковщик, имеет степень сжатия более высокую, чем у compress, почти как у arj или pkzip. Создать сжатый cpio архив, используя "компрессор" gzip.
find . -print | cpio -ovcaB | gzip > arhiw.gz
Извлечь файлы из сжатого cpio-архива
gunzip < arhiw.gz | cpio -idmv
mt
- управление магнитной лентой
Специализированная программа для работы с магнитными лентами В частности, с ее помощью можно дописывать файлы на ленту один за другим.
Чтобы узнать, что она может делать, наберите:
man mt