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

Лабораторная работа № 1 основы интерфейса пользователя с posix-совместимой ос на уровне командной строки

Цель работы.Ознакомиться с организацией сети в терминальном классе. Получить представление об основных компонентах этой сети на уровне аппаратного (Hardware) и программного (Software) обеспечения. Приобрести практические навыки общения с системой на уровне командной строки (вход и выход, оперативная помощь, работа с буфером команд, установка и смена пароля, организация файловой системы).

Указания к работе

В POSIX-совместимой операционной системе (ОС Unix) до последних версий по историческим причинам преобладала идеология построчного диалога с пользователем. Стандартный интерпретатор языка Shell (/bin/sh) поддерживает понятия командной строки, внутренней и внешней команды, параметризованной командной процедуры, переменной с текстовым значением, шаблона имен файлов, управляющей структуры, переназначения ввода/вывода (т. е. практически то же самое, что и файл cmd.exeв различных версияхWindows). Но могут быть различия, которые касаются общности. Как всегда в ОС Unix, «если что-то можно, то можно везде и в любом количестве». Так шаблоны имен файлов могут содержать произвольное число метасимволов *, стоящих в произвольных местах. Больше возможностей предоставляют также условные и циклические управляющие структуры, средства переназначения ввода/вывода и подстановки значений переменных, реализованные в командных интерпретаторах ОС Unix (/bin/sh, /bin/csh, /bin/ksh, /bin/bashи др.).

Внутренняя команда полностью реализуется самим командным интерпретатором. Например, команда смены текущего каталога (cd).

Внешние команды представляются (реализуются) независимыми программами, которые интерпретатор запускает после анализа командной строки. Пример внешней команды – команда grep (утилита для поиска в файлах заданного контекста). В большинстве интерпретаторов доступна команда type, с помощью которой можно определить тип команды. Например,typeимя_команды.

Информация, необходимая для начала работы

Регистрация в системе.Для регистрации в системе необходимы имя пользователя и его домашний каталог. Имя пользователя позволяет системе установить, кто с ней работает. Имя пользователя системе сообщает системный администратор, при этом администратор создает для пользователя домашний каталог. Домашний каталог – это часть файловой системы, которой вы можете пользоваться и управлять.

Ваш пароль.Пароль позволяет защищаться от несанкционированного доступа. Никто кроме вас не должен знать вашего пароля.

Вход в систему.При входе система должна опознать вас и, если вы являетесь зарегистрированным пользователем, дать возможность работать в домашнем каталоге. Для того чтобы войти в систему, будем использовать технологию «Клиент-Сервер», т. е. мы будем работать сUnix-совместимой системой (например, сLinux) через удаленное соединение посредством программыPutty. Реально на вашем компьютере будет запущен клиент (Putty), эмулирующий терминал, и его задачей будет только посылка вводимых символов серверу (fpm2) и отрисовка полученной от сервера информации. Наиболее часто работа сLinux-системой осуществляется именно таким образом, причем соединение с сервером может идти как по защищенному каналу (ssh), так и по незащищенному (telnet). Мы будем работать по защищенному каналу (ssh).

Таким образом, для того чтобы начать работу с Unix-совместимой системой (Linux), необходимо:

1) выполнить вход в систему, установленную на вашем компьютере в терминальном классе (WindowsXP), используя бригадный логин и пароль;

2) запустить клиента (Putty) для соединения с сервером (fpm2);

3) после появления приглашения login:набрать имя пользователя (например,pm6101) и нажать ENTER;

4) набрать пароль после приглашения на ввод пароля и нажать клавишу ENTER. При вводе пароль не отображается на экране, что позволяет сохранять его в тайне;

5) если пароль введен корректно, то на экране появляется системное приглашение (например, -bash-3.1$) иLinuxготов принимать команды.

Замечание.Если вы использовали один и тот же логин при входе вWindowsиLinux, то автоматически подключается сервисSAMBA, который обеспечивает совместимость файловWindowsиLinux.

Смена пароля.Чтобы сменить пароль, необходимо набрать командуpasswdпосле системного приглашения и нажать клавишу ENTER. Когда система попросит ввести старый пароль (old pasword:), наберите текущий пароль и нажмите клавишу ENTER.

Когда система попросит ввести новый пароль (new password:), наберите новый пароль из 6 – 8 символов и нажмите клавишу ENTER. По запросу системы введите новый пароль еще раз. Это необходимо для того, чтобы проверить введенный новый пароль.

Замечание. Очень большая просьба: не менять пароли, так как администратор в терминальном классе не приветствует эти действия, и у вас могут быть проблемы с выполнением лабораторных работ.

Выход из системы.Выход из системы препятствует несанкционированному доступу к вашим файлам. Чтобы выйти из системы, необходимо ввести командуlogout(илиexit) после системного приглашения и нажать клавишу ENTER.

Файлы и каталоги.В ОС Unix файловая система представляет собой одно дерево (иерархическую структуру).

В MS-Windowsвся совокупность файлов, доступных на данном компьютере, представляет собой много деревьев («лес») и соответственно при обращении к файлу используется, кроме понятий каталога и простого имени, еще и понятие диска. В принципе древовидная модель с использованием монтирования, принятая в ОС Unix, имеет несколько более общий, чем в случае с ОС MS-Windows, характер. Она свободна от ограничений на число НГМД и на число дисководов. Другая отличительная черта ОС Unix – весьма общая трактовка понятия файла. Под файлом понимается все, что может хранить, поставлять или потреблять информацию. Различают пять типов файлов:обычные, каталоги, каналы, блочные специальныеи символьные специальные.

Понятия обычногофайла в OC Unix и MS-Windowsблизки, однако в OC Unix нет разделения на текстовые и бинарные файлы – и те и другие трактуются просто как последовательность байт без какой-либо дополнительной структуры или признака конца.

Каталогив ОС Unix позволяют установить соответствие между именем и описателем файла. Каждый элемент каталога представляет пару: номер описателя и имя файла. Если несколько элементов каталога содержат один и тот же номер описателя, то мы имеем несколько ссылок на один и тот же файл. Подобное отклонение от древовидной структуры весьма полезно, поскольку позволяет любому файлу дать любое имя, не дублируя информацию. При удалении файла обнуляются поле номера описателя в элементе каталога и сам описатель. Это делает практически невозможной реализацию операций типа undelete.

Стандартный вариант ОС Unix предлагает лишь один выход из подобного положения – регулярное сохранение файлов на сменных носителях.

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

Конвейер– это последовательность команд/утилит, разделенных знаком конвейера <|>. При этом стандартный вывод всех команд, кроме последней, направляется на стандартный ввод следующей команды конвейера. Соединение в конвейер даже простых команд способно дать по существу новое качество. Так, командаlsне подсчитывает число файлов в каталоге, а лишь выдает информацию о них. С другой стороны, командаwcспособна подсчитать число строк в файле стандартного ввода. Если же построить конвейер из этих двух команд, легко подсчитать число файлов в каталоге. Например, результатом работы конвейера:

ls –a / | wc –l

будет число элементов корневого каталога.

Специальные файлысоответствуют устройствам (блочные – дискам, символьные – всем прочим). Введение этого понятия позволяет единообразно обслуживать обмен информацией с любым источником или приемником. Например, для чтения флоппи-диска, минуя файловую структуру, достаточно обычным образом открыть файл вроде /dev/dsk/fd, позицироваться в нем и прочесть нужное число блоков. Иными словами, прикладным программам все равно, с чем именно они обмениваются информацией – обычным каталогом, каналом или устройством.

Таким образом, файловая система ОС Unix – это иерархическая система каталогов, подкаталогов и файлов, которые обычно организованы и сгруппированы по функциональному признаку. Самый верхний каталог в иерархии называется корневым. Именем корневого каталога является символ /. Корневой каталог содержит системные файлы (такие, как ядро, называемое в разных версиях ОС по-разному) и каталоги.

Полное имя показывает местоположение файла или каталога в файловой системе. Существует два типа полного имени: абсолютноеиотносительное. Абсолютное всегда начинается с символа /, обозначающего корневой каталог. Кроме этого, символ / используется и в абсолютном, и в относительном имени как разделитель имен каталогов и файлов (например, /u/home/pm6101).

Абсолютное имя показывает положение файла по отношению ко всей иерархической структуре. Относительное имя показывает положение файла по отношению к текущему (или рабочему) каталогу.

Текущий или рабочий каталог – это тот каталог, в котором вы работаете в настоящий момент. Например, ваш домашний каталог является текущим непосредственно после вашего входа в систему. Пример относительного имени pm6101/abcd (вначале отсутствует символ / ).