Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзаменационные вопросы И-9-2 2012 (11-20).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.2 Mб
Скачать
  1. Текстовый редактор VI.

vi (visual) — серия текстовых редакторов операционных систем семейства UNIX.

В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме.

В режиме вставки клавиатура используется для набора текста. Для выхода в командный режим используется клавиша Esc или комбинация Ctrl + c .

В командном режиме алфавитные клавиши соответствуют командам перемещения и изменения текста. Так, команды h, j, k, l перемещают курсор на одну позицию влево, вниз, вверх, вправо соответственно, команда x удаляет один символ и т. д. Это позволяет работать без необходимости использования дополнительной клавиатуры и клавиш-модификаторов, таких, как Ctrl , Alt и т. д. Более сложные операции редактирования получаются комбинацией простых, например, 2dw удаляет два слова.

Часто используемые команды

/str — Поиск строки str вперед. str может быть регулярным выражением

?str — Поиск строки str назад

n — Повторить поиск в том же направлении

N — Повторить поиск в обратном направлении

:[range]s/old/new/[g] — Заменить old на new в указанном диапазоне строк range. new и old могут быть регулярными выражениями, а range задается аналогично диапазону строк в редакторе ed. Например, для диапазона строк с 32 по 64 range будет 32,64, первая строка соответствует 1, последняя задается через символ $. Суффикс g означает заменить все вхождения old в строке, а не только первое.

:e! — перезагрузить текущий файл

:33 — перепрыгнуть на 33ю строку текстового файла

i — перейти в режим редактирования

a — перейти в режим редактирования после текущего символа

u — отменить последнее действие

. — повторить последнее действие

x — удалить символ под курсором

dd — удалить всю строку

:w — сохранить файл на диске

:wq — выход с сохранением файла

:q — выход

:q! — выход без сохранения файла

:r — вставить в документ другой файл

Пример из лабораторной:

При помощи текстового редактора vi создадим конфигурационный файл /root/.fetchmailrc:

vi

:w /root/.fetchmailrc

:q

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

FHS — сокращение от Filesystem Hierarchy Standard, что в переводе c английского означает «Стандарт иерархии файловой системы». Этот стандарт принят для унификации местонахождения файлов и директорий с общим назначением в файловой системе ОС UNIX. На данный момент большинство UNIX-подобных систем в той или иной степени следует этим правилам. Например, обычная база данных о пользователях всегда хранится в файле /etc/passwd.

Текущая версия стандарта — 2.3, анонсирована 29 января 2004 г.

Для получения справки об используемой в ОС системе каталогов иногда существует команда hier (man hier).

В FHS вводятся два ключевых разграничения, влияющих на общую структуру какаталогов.

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

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

Совместно эти критерии определяют четыре типа каталогов (рис. 7.3). Иногда каталоги, расположенные непосредственно в корневом каталоге, нельзя отнести к конкретному типу. Цель классификации заключается в том, чтобы можно было легко опреределить, какие данные следует хранить в разделах, доступных только для чтения, и отделить каталоги, допускающие экспорт через NFS, от тех, которые не могут экспортироваться.

Совместно используемый

Локальный

Статический

/usr /opt

/etc /boot

Динамический

/home /var/mail

/var/run /var/log

Рис. 7.3. Пример классификации каталогов

Ключевые каталоги, определенные в стандарте.

• Корневой (/) — начальная точка файловой системы. Согласно стандарту, в корневом каталоге должны содержаться подкаталоги или точки монтирования /bin, /boot, /dev, /еtс, /lib, /mnt, /opt, /sbin, /tmp, /usr и /var. Предусмотрены также три необязательных каталога, присутствующих во многих системах: /home, /lib<тип> и /root.

• /bin — статический каталог, допускающий совместный доступ, но он редко монтируется клиентами, так как почти всегда присутствует в системе. В нем находятся основные программы пользовательского уровня, такие как ls, ср и sh. Идея заключается в том, чтобы эти команды были доступны, даже когда некорневые разделы не удается смонтировать.

• /boot — статический локальный каталог, который хранит основные загрузочные файлы, в частности файл ядра.

• /dev — статический локальный каталог, хранящий файлы устройств, через которые осуществляется доступ к аппаратным устройствам компьютера. Во FreeBSD 5.0 такой доступ реализуется с помощью специальной файловой системы devf s, которая генерирует файлы для обнаруженных устройств.

• /etc — статический и локальный каталог. В нем хранятся файлы конфигурации системы.

• /lib — статический каталог, допускающий совместный доступ, но, как и /bin, экспортируется редко. В нем хранятся важнейшие системные библиотеки, используемые программами из каталогов /bin и /sbin. Во FreeBSD каталог /lib отсутствует, поскольку упомянутые программы компонуются cmaтuчески и для их работы не требуются внешние библиотеки.

• /mnt — точка монтирования временных файловых систем. В стандартной инсталляции FreeBSD каталог /mnt не содержит подкаталогов, но некоторые администраторы создают подкаталоги наподобие /mnt/floppy и /mnt/cdrom для монтирования соответствующих устройств.

• /opt — статический каталог, допускающий совместный доступ и предназначенный для хранения вспомогательных программных пакетов. Но на практике во FreeBSD большинство таких пакетов находится в каталоге /usr/local, поэтому каталог /opt используется мало. Названия его подкаталогов соответствуют названиям программ, например /opt/OpenOffice. org.

• /sbin — аналог каталога /bin, содержащий команды, предназначенные для системного администратора, например shutdown и fsck.

/tmp — динамический локальный каталог, который хранит временные файлы. Он должен быть доступен для чтения/записи всем пользователям и программам. Программа не должна предполагать, что находящиеся в нем файлы останутся доступными после ее завершения, хотя на практике часто именно так и происходит.

/usr статический-каталог, допускающий совместный доступ. Он очень велик, поскольку хранит большинство программных файлов системы. В нем есть подкаталоги, аналогичные уже упоминавшимся выше, например /usr/bin.

/usr/sbin и /usr/lib, но в них находятся обычные программы, не участвующие в обеспечении базовых функциональных возможностей системы. Некоторые из подкаталогов представляют особую важность и потому описаны щцально.

• /usr/local в этом подкаталоге находятся локальные файлы, созданные или инсталлированные специально для этой системы, в отличие от файлов, составляющих стандартную часть операционной системы. Например, если программа компилируется "с нуля", а не инсталлируется. в готовом виде, нужно защитить ее от процедур автоматического обновления системы. Каталог /usr/local активно используется, во FreeBSD, в нем инсталлируется множество пакетов включая большинство программ из коллекции переносимых приложений.(методы инсталляции программ рассматриваются позже).

• /usr/X11R6 — в этом подкаталоге хранятся файлы Х Window System, включая программный код Х-серверов.

• /var — в этом каталоге содержатся динамические файлы данных, а подкаталоги могут быть как локальными, так и совместно используемыми. Здесь хранятся идентификаторы процессов (/var/run), почтовые буферы (/vаг/mail

системные журнальные файлы (/var/log) и т.д.

• /home — необязательный каталог, предназначенный в основном для хранения пользовательских файлов данных. Редко какая система обходится без каталога /home, хотя иногда он называется по-другому или разбивается на несколько

логов. Как правило, у каждого пользователя в этом каталоге есть свой, индивидуальный подкаталог, но могут быть и подкаталоги, общие для всех пользователей.

/lib<тип> в стандарте этот необязательный каталог обозначен как статический, допускающий совместный доступ. В качестве компонента <тип> задан тип библиотеки. Идея заключается в том, чтобы система могла иметь несколько библиотечных каталогов, каждый из которых обеспечивает поддержку определенного набора системных возможностей. Чаще всего это используется в 64-разрядных платформах для поддержки 32- и 64-разрядных приложений. Следовательно, если FreeBSD устанавливается на компьютерах семейства х86, каталоги /lib<тип> отсутствуют.

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

Уровень совместимости с FHS

FreeBSD практически полностью совместима с FHS, содержит все обязательные каталоги и в целом следует стандарту, хотя есть и некоторые несоответствия. К примермеру, в стандарте указано, что программы login и mount должны находиться в кататалоге /bin, тогда как во FreeBSD они помещены в каталоги /usr/bin и /sbin соответстветственно. Кроме того, во FreeBSD широко используются каталоги, не включенные стандарт (они ни в коем случае не нарушают стандарт, просто не упомянуты в нем). В частности, в стандарте ничего не говорится о каталоге /usr/local/etc, а во FreeBSD многие программы записывают в него свои конфигурационные файлы. Таким ким образом, FHS представляет собой ценное руководство, важное для понимания структуры каталогов FreeBSD, но его нельзя рассматривать как стопроцентно точное воспроизведение системы.