Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_ОС_П+И_2012.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
413.07 Кб
Скачать

Архивирование и сжатие файлов

Архивирование данных – получение файла специального формата, архивного файла, который позволяет сохранить файлы вместе с характерной для них информацией:

  • Имя файла;

  • Размер файла;

  • Время последней модификации;

  • Тип файла;

  • Владелец файла

При создании архива соблюдается структура каталогов.

Действия с архивами:

  • Создать, т. е. получить один файл, содержащий несколько файлов;

  • Просмотреть оглавления архива, т. е. получить информацию о файлах в архиве;

  • Добавить данные в архив;

  • Удалить данные из архива;

  • Извлечь несколько файлов из архива;

  • Распаковать архив, т. е. извлечь все файлы.

Компрессор – программа предназначенная для сжатия файлов.

WinZip, WinRar - работают как архиваторы и компрессоры одновременно.

В ОС LINUX архивирование и сжатие данных выполняются разными программами. В качестве архивного файла может использоваться обычный файл или специальный файл устройства, на котором будет создан архив ( дискета или магнитная лента ).

Для создания архива предназначена программа TAR, имя архива обычно имеет суффикс tar.

Формат команды

# tar [ ключи ] < имена_файлов >

Ключ задает операцию, которую следует выполнить над архивом. Может использоваться в краткой или полной форме

Пример

# tar - c - f ar.tar A* - создать архив с именем ar.tar, в который включить все файлы, имена которых начинаются с символа А

# tar -- create -- file = ar.tar A* - создать архив с именем ar.tar, в который включить все файлы, имена которых начинаются с символа А

Модификатор позволяет изменить режим выполнение операции, например, изменить текущей каталог, задать файл, содержащий имена файлов.

Компрессоры - специальные программы, которые предназначены для сжатия файлов. Разработано несколько программ – компрессоров, которые используют свои методы сжатия.

Каждому методу сжатия соответствует семейство утилит.

  • Compress, uncompress, zcat;

  • Gzip, gunzip, zcat;

  • Compact, uncompact, ccat

  • Pack, unpack, pcat;

В каждом наборе первая утилита выполняет сжатие файлов, вторая – декомпрессию, третья – декомпрессию с выводом в стандартный вывод. Каждая программа – компрессор создает сжатый файл на том же месте, преобразования затрагивают только данные, индексный дескриптор остается неизменным. Сжатый файл сохраняет все атрибуты исходного, к имени добавляется суффикс.

Физические устройства LINUX

В ОС LINUX все физические устройства представлены в виде специальных файлов, каждому устройству соответствует свой специальный файл, работой устройств управляют программы – драйверы.

Со всеми устройствами работа происходит одинаково:

  • Ввод данных – считывание данных из соответствующего файла;

  • Вывод – запись данных в соответствующий файл.

Одни и те же операции работы с файлами применяются для работы с разными внешними устройствами – дискетой, принтером, мышью и т.д.

Все внешние устройства делятся на два класса блок – ориентированные и байт – ориентированные, соответственно есть два типа специальных файлов.

Блок – ориентированные, запись блоками по 512 байт, обозначение «В»

Байт– ориентированные, запись по одному байту, обозначение «С»

Специальный файл представлен своим индексным дескриптором, в поле размер файла, которое не имеет смысла для специального файла, записывается старший и младший номер устройства.

Старший номер – обозначает драйвер устройства

Младший – конкретный экземпляр устройства

владелец

тип

дата

Физический адрес

Старший номер - драйвер

Младший номер - экземпляр

Специальные файлы регистрируются в каталоге устройств, как правило dev

Принято обозначать:

HAD - первый жесткий диск - контроллер IDE - 0

HDB - второй жесткий диск

HDA1 - первый раздел первого логического диска

HDВ2 - первый раздел второго логического диска

/ DEV / FD0 - дисковод

Создавать специальные файлы может только администратор, команда

# mknod < имя_ файла > b | c m1 m2

m1 – старший номер устройства, m2 - младший номер устройства

Монтирование файловых систем

Каждый диск или раздел диска имеет свою иерархическую структуру со своим корневым каталогом, подкаталогами и файлами. В ОС LINUX отдельные файловые системы могут присоединяться ( монтироваться ) к основной файловой системе при помощи операции монтирования. Команда

# mount [ ключи ] < устройство > < каталог >

устройство – имя специального файла, соответствующего диску или разделу присоединяемой файловой системе.

Каталог – имя каталога основной файловой системы, к которому монтируется файловая система устройства – точка монтирования.

Ключ t - определяет тип файловой системы, которая монтируется

Типы файловых систем

MSDOS – файловая система DOS ( FAT )

VFAT – FAT, поддерживающая длинные имена файлов

NTFS – файловая система Windows NT

EXT2, EXT3 - основная файловая система LINUX

Пример

# mount - t msdos / dev / fdo / mnt / c

# mount - t vfat / dev / fdo / mnt / c

Размонтирование

#unmount / dev / fdo

Работа с дискетой

Обозначения / dev / fdo - дисковод

/ mnt / floppy - точка монтирования

  1. Форматирование

# fdformat / dev / df0

# fdformat - n / dev / fd0

  1. Создание файловой системы

# mkfs -t < тип_файловой_системы > / dev / fdo

# mkfs - t msdos / dev / fd0 - создается дискета DOS ( загрузочный сектор, две копии FAT – таблицы, корневой каталог

# mkfs - t ext2 / dev / fd0 - создается дискета Linux ( суперблок, область индексных дескрипторов, область данных )

  1. Копирование на дискету

# cp < имена_файлов > / mnt / floppy

  1. Чтение с дискеты

# cp / mnt / floppy < имена_файлов >