Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППО - Лабораторные работы.doc
Скачиваний:
23
Добавлен:
10.11.2019
Размер:
752.13 Кб
Скачать

Лабораторная работа №10. Архивирование и сжатие

Цель работы: освоить команды архивирования и сжатия файлов

Необходимые сведения

Под архивированием понимают помещение содержимого нескольких файлов в один файл (архив). Сжатие позволяет экономить место при хранении файлов.

Для архивирования файлов применяют команду tar (от Tape ARchive), изначально ориентированную на создание архивов на ленте. Ее синтаксис:

tar [опции] архив [файл(ы)].

Опции определяют действия архиватора:

-f — поместить архив в файл или на устройство (в первом случае указание этой опции почти для всех операций обязательно);

-A — добавить файлы в архив;

-c — создать новый архив;

-d — найти различия между объектами архива и их «исходниками» в файловой системе;

-r — добавить файлы в конец архива;

-t — вывести содержание архива;

-u — добавить в архив только те файлы, которые ранее не были включены в архив;

-x — извлечь файлы из архива;

-v — вывод на экран списка обрабатываемых файлов.

Если в качестве имени архива указать -, то данные направляются в стандартный вывод, что позволяет использовать команду tar в конвейерах.

Примеры:

tar -cf arc/mydoc.tar doc1 doc2 — создать архив mydoc.tar в подкаталоге arc текущего каталога, поместив туда файлы doc1 и doc2;

tar -rf arc/mydoc.tar /home/igor/doc — добавить к архиву каталог /home/igor/doc.

Для сжатия файлов применяется программа gzip, используя алгоритм сжатия Лемпеля-Зива. После сжатия к имени файла добавляется расширение .gz. Синтаксис команды:

gzip опции [файл(ы)].

При работе команды указанные файлы будут замещены сжатыми вариантами (с расширением .gz) с аналогичными парами доступа и владельцем. Если список файлов отсутствует, то или указывается символ -, то осуществляется сжатие стандартного ввода с направлением на стандартный вывод. Положение сжатых файлов при этом можно задавать перенаправлением вывода. Опции команды gzip:

-d — распаковать архив (можно также использовать отдельную программу gunzip);

-l — просмотр содержимого архива;

-t — проверка целостности архива;

-c — запись на стандартный вывод, сжимаемый файл не уничтожается;

-r — рекурсивная упаковка файлов в каталоге;

-v — вывод на экран отчета о работе;

-n — задать степень сжатия n (число от 1 (минимальная) до 9 (максимальная); по умолчанию 6).

Пример: gzip -tv9 mydoc — упаковка файла mydoc с максимальной степенью сжатия, проверкой целостности и выводом отчета.

Ход работы

  1. Заархивируйте все файлы в домашнем каталоге, содержащие буквосочетание hlp в файл myarc.tar. Сравните суммарный размер исходных файлов (команда du) и размер архива.

  2. Выведите на экран содержание архива myarc.tar. Сравните владельца, права доступа и время создания исходных файлов и архива.

  3. Добавьте в архив myarc.tar два произвольных файла. Просмотрите содержимое архива.

  4. Создайте каталог Temparc, скопируйте в него архив myarc.tar. Распакуйте архив в созданном каталоге. Просмотрите содержимое каталога Temparc.

  5. Сожмите архив myarc.tar без его удаления с максимальной степенью сжатия. Просмотрите содержимое архива myarc.tar.gz.

  6. Сожмите архив myarc.tar без его удаления в файл myarc1.tar.gz c минимальной степенью сжатия. Сравните размеры архивов myarc.tar.gz и myarc1.tar.gz.

  7. Удалите файлы myarc.tar.gz и myarc1.tar.gz. Используя конвейеры, заархивируйте и сожмите без удаления все файлы в домашнем каталоге, содержащие в именах буквосочетание hlp, в файл myarc.tar.

  8. Создайте каталог Temparc1. Создайте в этом каталоге два различных заархивированных (но не сжатых) файла testgzip.tar и test2gzip.tar. Используя ключ -c команды gzip, сожмите первый файл в ~/test/testgzip.tar.gz.

  9. Используя перенаправление вида gzip -c файл >> архив.gz, добавьте в конец сжатого файла второй заархивированный файл. Просмотрите содержимое архива testgzip.tar.gz. Распакуйте файл testgzip.tar.gz.