Стандартными методами создания резервных копий в Unix являются операции архивирования и сжатия. Архивирование файлов и сжатие файлов по своей природе - разные операции. Архивирование - это операция объединения нескольких файлов (и каталогов) в один файл специального формата, который называется архивом. За счет наличия служебной информации в архиве, размер архива больше суммы размеров входящих в него файлов. Сжатие - это операция уменьшения размера файла с помощью специальных алгоритмов. В Unix архивирование и сжатие выполняется как правило разными программами.
Команда tar предназначена для создания архивов на магнитной ленте, а также в файлах. Признак tar-архива: расширение файла ".tar" или буква "t" в расширении ".tgz". На профессиональном слэнге файл с tar-архивом часто называется tarball. Примеры работы с tar следуют ниже.
создать архив arh.tar, поместив в него файл b.txt и каталог prog со всеми его файлами и подкаталогами:
%tar cvf arh.tar b.txt prog %rm -rf prog b.txtвывести оглавление архива arh.tar:
%tar tvf arh.tarизвлечь файл prog/a.c из архива arh.tar (создается каталог prog {если его не было} и в него записывается файл a.c из архива):
%tar xvf arh.tar prog/a.c %ls -al progизвлечь все файлы из архива arh.tar:
%tar xvf arh.tar %ls -l b.txt. progдобавить файл uran к архиву:
%tar uvf arh.tar uran %tar tvf arh.tar
Наиболее широко используемым компрессором файлов под Unix является утилита gzip (обратная ей утилита - gunzip). Эти утилиты обязательно входят в поставку операционной системы. Признак файла, сжатого програмой gzip - расширение ".gz" или ".tgz" (tar+gzip).
Формат команды
%gzip file %gunzip file.gz
При сжатии (без дополнительных ключей) исходный файл удаляется, вместо него образуется сжатый файл, имя которого равно имени исходного файла плюс ".gz". При восстановлении происходит обратное: удаляется сжатый файл и создается исходный.
С ОС Unix поставляется стандартный компрессор compress (uncompress). Работа с этими утилитами аналогична работе с gzip (gunzip), но используется расширение ".Z"
Для ОС Unix также имеются программы zip и unzip, которые работают аналогично DOS-версиям, в том числе, в дополнение к сжатию, производят архивирование и распаковку архивов. Формат архивов совместим с форматом DOS pkzip и WinZip. (Для DOS/Windows также уже написаны утилиты gz и tar.)
Формат команды
%zip file.zip список_файлов %gunzip file.zip %gunzip file.zip список_файлов
Для более подробной информации обо всех утилитах см. справочник man.. Используя man самостоятельно изучите утилиту bzip(необязательная компонента при установке Linux) и выполните с её помощью указанные выше задания.
%cp b.txt Z.txt %cp b.txt gz.txt %cp b.txt zip.txt %gzip gz.txt %compress Z.txt %zip zip.txt.zip zip.txt %ls -l *txt*Сравните степень компрессии.
У команды tar имеются две опции, позволяющие после(перед) архивирования(разархивированием) выполнить сжатие(распаковку) файлов. В случае опции -z архив пропускается через фильтр gzip, а с опцией -Z через фильтр compress. Для упакованного таким образом архива используется стандартное расширение .tgz.
Выполнить задания все задания пункта 2.1 в режиме архивирования и сжатия с различными упаковщиками. Сравнить размеры архивов при использовании разных упаковщиков.
При сдаче лабораторной работы будет проверяться знание всех рассмотренных утилит, их опций и умение их практического использования..
Справочная таблица по быстрой распаковке архивов
Вид файла Действия file.tar tar xvf file.tar file.gz gunzip file.gz file.tar.gz gunzip -c file.tar.gz | tar xvf - file.tgz gunzip -c file.tgz | tar xvf - file.Z uncompress file.Z file.taz gunzip -c file.taz | tar xvf - file.tar.Z uncompress -c file.tar.Z | tar xvf - file.zip unzip file.zip
Завершите сеанс работы - exit.