Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

операционные системы_Жаров

.pdf
Скачиваний:
17
Добавлен:
29.05.2015
Размер:
855.71 Кб
Скачать

МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФБОУ ВПО

―НОВОСИБИРСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ ВОДНОГО ТРАНСПОРТА‖

Кафедра информационных систем

ОПЕРАЦИОННЫЕ СИСТЕМЫ

ОСНОВЫ РАБОТЫ С КОМАНДНЫМ ИНТЕРПРЕТАТОРОМ Методические указания к выполнению лабораторной работы

Новосибирск, 2011 г.

УДК 004.451.47

Жаров А. В. Основы работы с командным интерпретатором: методические указания к выполнению лабораторной работы / А. В. Жаров – Новосибирск. Новосиб. гос. акад. вод. трасп., 2011 – 29с.

Методические указания предназначены для студентов электромеханического факультета по направлению подготовки (специальности) 230400.62 (230201.65) "Информационные системы и технологии".

Методические указания к выполнению лабораторной работы предназначены для самостоятельной подготовки и выполнения студентами лабораторной работы по взаимодействию с командными интерпретаторами GNU/Linux и Windows в рамках курса "Операционные системы".

©А. В. Жаров, 2011

©Новосибирская государственная академия водного транспорта, 2011

2

ВВЕДЕНИЕ

Дисциплина «Операционные системы» преподаѐтся студентам специальности «Информационные системы и технологии» в пятом семестре. Рабочей программой дисциплины предусмотрен лабораторный практикум с использованием ЭВМ. Целью лабораторных работ является практическое закрепление теоретических знаний, полученных из лекционного курса, а также, формирования навыков работы в современных операционных системах.

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

1.Титульный лист.

2.Название и цель работы.

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

4.Результаты, выводы и анализ выполненных заданий, в соответствии с требованиями, изложенными в упражнениях.

5.Выводы по работе.

6.Два чистых листа, предназначенных для защиты практического и теоретического материала по теме лабораторной работы.

Для подготовки к выполнению и защите лабораторных работ рекомендуется использовать соответствующий лекционный курс и литературу из рекомендованного списка.

УСЛОВНЫЕ ОБОЗНАЧЕНИЯ

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

Обозначение

Описание

GNU/Linux

Имя программы

UID

Термин

[student@localhost: ̃]$

Вывод терминала

who -bH

Команда

 

Задание на выполнение

 

 

Alt+F<n>

Клавиши и сочетание клавиш

DESCRIPTION (ОПИСАНИЕ)

Важная информация

3

1.ПОЧЕМУ ВАЖНО ЗНАТЬ, КАК ПОЛЬЗОВАТЬСЯ РЕСУРСАМИ КОМАНДНОЙ СТРОКИ

Большинство современных операционных систем предлагают пользователям для работы удобный и интуитивно понятный графический пользовательский интерфейс (Graphical User Interface – GUI). Это касается даже по-прежнему «профессиональных» UNIX-систем, включая многочисленные дистрибутивы Linux. Графический интерфейс позволяет наглядно и просто решать большинство задач, связанных с использованием и обслуживанием операционной системы даже обычному пользователю, позволяя ему в кратчайшие сроки освоить основные приемы работы. Со временем, использование командной строки стало представляться неким анахронизмом, наследием времен «когда компьютеры были большими». Наличие в современных операционных системах командной строки часто объясняется данью «славному прошлому», предназначенной для использования рядом «профессионалов», привыкших работать с подобным интерфейсом или, в лучшем случае, для решения редких специфических задач. Не отрицая удобства и полезности графического интерфейса, следует отметить, что командная строка по-прежнему играет важную роль при работе с операционными системами. Во-первых, сразу стоит отметить, что текстовый режим командной строки предъявляет минимальные требования к аппаратуре компьютера и, следовательно, минимизирует накладные расходы на сам интерфейс управления, позволяя использовать эти ресурсы там, где они необходимы. Во-вторых, сам интерфейс командной строки обеспечивает большую стабильность именно в силу своей простоты. В-третьих, даже в ОС Windows, консоль предоставляет гораздо больше возможностей для настройки и администрирования системы, предоставляя более 280 утилит различных типов, а некоторые задачи можно выполнить только с использованием командной строки. И, наконец, в-четвертых, применение команд позволяет добиться высокого уровня автоматизации труда за счет создания, так называемых, пакетных файлов.

Таким образом, умение работать с командной строкой с одной стороны позволит лучше понимать принципы работы операционных систем, а с другой, значительно повысит эффективность Вашего труда.

В рамках данного лабораторного практикума Вы получите базовые навыки взаимодействия с командным интерпретатором двух наиболее распространенных операционных систем: проприетарной – Windows XP и открытой – GNU/Linux. В качестве последней выбран дистрибутив GNU/Linux Mandriva, по праву считающийся одним из наиболее легких для освоения начинающими пользователями.

4

2. ОСНОВЫ РАБОТЫ С КОМАНДНЫМ ИНТЕРПРЕТАТОРОМ LINUX

2.1 Начало работы с системой

После процедуры загрузки системы, в зависимости от ее настройки, на мониторе будет отображено либо графическое, либо текстовое приглашение на вход в систему. Приглашение выводится специальной программой login. Так как операционная система GNU/Linux является многопользовательской, то процедура входа является обязательной и заключается в указании входного имени пользователя (login) и пароля (password). Указанный способ идентификации позволяет реализовать базовый механизм безопасности операционной системы путем разграничения прав для различных учетных записей (account)пользователей.

Каждой учетной записи ставится в соответствие числовой идентификатор пользователя – UID (User ID) и группы, в которую пользователь, включается по умолчанию – GID (Group ID).

В Linux-системе обязательно присутствует учетная запись администратора с именем входа root и UID равном 0. В отличие от ОС Windows, в GNU/Linux администратор обладает неограниченными правами в системе и поэтому работать под данной учетной записью нужно очень осторожно.

Все остальные учетные записи пользователей подчиняются ограничениям системы прав, а их UID начинается с 500 или 1000 в зависимости от дистрибутива.

При выполнении лабораторной работы используются два типа учетных записей:

Администратор: login – root; пароль: super Обычный пользователь: login – stud; пароль – stud.

Задание 1:

1. Загрузите Linux и войдите в систему с правами обычного пользователя. Обратите внимание, что при наборе пароля никаких символов не отображается!

После идентификации в системе на экране будет отображен запрос (приглашение) командной строки. Запрос выдается специальной программой, называемой shell (оболочка). MS DOS shell называется command.com, и является очень простой в сравнении со многими Unix-shell. Shell принимает и выполняет команды. В Unix существуют два основных типа оболочек: Bourne-shells (названы в честь их изобретателя, Стивена Барни) и C-shells (первоначально разработанные Биллом Джоем). GNU/Linux имеет Bourne shell, называемый bash.

Следует учитывать, что существует достаточно большое (более 100) количество дистрибутивов ОС на ядре Linux. В связи с этим, формат запроса может несколько различаться, однако общая структура практически одинакова. Приме-

5

ром приглашения командной строки дистрибутива Mandriva GNU/Linux может служить запись:

[student@localhost: ̃]$

Приглашение состоит из имени пользователя и сетевого имени компьютера, разделѐнных знаком @. Через символ «:» указывается текущая директория ( символ ~ указывает на домашнюю директорию). Начало строки маркируется символом $. Обратите внимание на тот факт, что при работе с правами администратора, маркер меняется на знак #, а имя пользователя может и не отображаться.

GNU/Linux, в отличие от ОС Windows, является действительно многопользовательской средой и позволяет одновременно зарегистрироваться и работать в системе нескольким пользователям даже на одном персональном компьютере. Подобная возможность достигается с помощью механизма виртуальных консолей (virtual console).

Каждая виртуальная консоль представляет собой независимый экземпляр программы идентификации пользователя и дает ему возможность получить доступ к системе. Обычно в GNU/Linux, первые шесть виртуальных консолей (tty1 – tty6) обеспечивают текстовый терминал с приглашением входа в оболочку, а графическая система X Window System запускается в седьмой виртуальной консоли. Для переключения между консолями используется сочетание клавиш Alt+F<n>, где <n> это номер консоли, в которую вы хотите переключиться.

Задание 2:

1.Войдите в систему со второй консоли с правами администратора.

2.Отобразите в отчете приглашения командной строки для обычного пользователя и администратора

2.2Получение базовой информации о пользователях

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

GNU/Linux следующая:

КОМАНДА [-опции][операнды]

Так, например, для того чтобы получить информацию о том, кто на текущий момент работает в системе, используется команда who. В таком формате команда отображает, какие пользователи, с какой консоли и когда были зарегистрированы. Следует отметить, что большинство команд имеют дополнения, называемые опциями или ключами. Опции (ключи) расширяют возможности команды, или каким-либо образом модифицируют ее выполнение. В соответствие со структурой, ключи указываются после команды через пробел и начинаются со знака дефис «-», например: who -H. Каждый ключ может указываться либо отдельно друг от друга: who -b-H, либо в объединенной форме: who -bH.

6

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

В случае, если вывод команды занимает больше одного экрана, пользователь сможет увидеть только последнюю его часть. Для того, чтобы иметь возможность перемещаться между экранами необходимо использовать специальную программу less, причем с помощью специального механизма – канала – ей необходимо передать результаты работы той команды, которая изначально выводит информацию. Например, last | less. Символ «|» и обозначает канал между двумя командами. Для перемещения между экранами используются клавиши PageUp (пролистывает экран вверх), PageDown (пролистывает экран вниз). Для выхода из программы предназначена клавиша q.

Задание 3:

1.Переключитесь на первую виртуальную консоль.

2.Определите всех пользователей зарегистрированных в системе. Результат вывода команды занесите в отчет.

3.Проведите анализ работы команды who с ключами -b и -H.

4.Внесите в отчет информацию о назначении и формате команды who и двух рассмотренных ключей.

5.Исследуйте и отобразите в отчете результаты работы команд whoami и

who am i.

6.Исследуйте работу команды last с правами обычного пользователя и администратора.

7.Внесите информацию о команде last и результат ее работы в отчет.

Кбазовой информации о пользователе относится значение его UID и GID. Следует отметить, что в Linux-системах имеется два идентификатора пользователя и два идентификатора группы: реальный и эффективный. Реальные идентификаторы (UID, GID) определяют собственно владельца процесса, а эффективные (EUID, EGID) – права доступа процессов пользователя к файлам. В большинстве случаев эти два типа идентификаторов совпадают.

Для просмотра информации об идентификаторах пользователя используется команда id, которая имеет следующий формат:

id [опции]… [имя пользователя]

Основные опции:

-g: отображение только EGID;

-G: отображает EGID для всех групп, в которые входит пользователь; -u: отображение только EUID;

-r: отображение действительных значений UID и GID (используется только вместе с ключами –ugG).

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

7

Задание 4:

1.Занесите в отчет информацию о назначении, формате и основных ключах команды id.

2.Определите и отобразите в отчете информацию о реальных и эффективных идентификаторах пользователей и групп в системе.

2.3Получение справочной информации

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

Операционная система GNU/Linux предлагает несколько источников получения вспомогательной информации, основным из которых является руководство manpages, разбитое на несколько функциональных разделов (таблица 1).

 

Таблица 1. Разделы справочного руководства man

Раздел

Содержание

 

1

Команды пользователя

 

2

Системные вызовы

 

3

Библиотечные вызовы (подпрограммы)

 

4

Устройства

 

5

Форматы файлов

 

6

Игры

 

7

Разное

 

8

Системные команды

 

9

Ядро

 

n

Tcl/Tk commands

 

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

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

man [№раздела] наименование_объекта

8

Для перемещения по странице руководства используются клавиши PageUp (пролистывает страницу вверх), PageDown (пролистывает страницу вниз) и q (для выхода).

Страница руководства состоит из полей – стандартных разделов, с разных сторон описывающих объект:

Поле NAME (ИМЯ) – краткая информация об объекте.

Поле SYNOPSIS (ОБЗОР) – формализованное описание способов использования объекта.

Поле DESCRIPTION (ОПИСАНИЕ) – развернутое описание объекта. Поле SEE ALSO (ТАКЖЕ СМОТРИ) – ссылки на другие источники

информации по теме.

Доступ к другим справочным системам предоставляют команды apropos (―кстати‖, ―между прочим‖), whatis (―что такое?‖).

Указанные команды ищут заданную строку во всех страницах помощи в системе. Различие между ними в том, что whatis - только среди имен объектов (в левых частях полей NAME), а apropos - по всей базе. В результате у whatis получается список кратких описаний объектов с именами, включающими искомое слово, а у apropos - список, в котором это слово упоминается.

Задание 5:

1.Используя справочные руководства, внесите в отчет информацию о назначении, формате и основных ключах команд date и cal.

2.Установите следующие значения системной даты и системного времени:

10 ч 20 мин, 30 марта 2020 г

3.Измените дату и время на текущие.

2.4Команды работы с файлами и каталогами

Как и Windows, UNIX предоставляет для хранения информации файлы и директории (каталоги). Однако, концепция логических дисков, применяющаяся в Windows и MS DOS, в GNU/Linux отсутствует. Во всех UNIX-подобных системах существует единый корневой каталог (root), который обозначается символом прямого слеша «/». Внутри этой директории содержатся другие каталоги и файлы, расположенные, возможно, и на других физических носителях. В эту единую каталоговую структуру можно подключить (смонтировать) любое число каталогов, физически расположенных на разных носителях и имеющих различные файловые системы (в том числе NTFS и FAT).

Сама структура файловой системы регламентируется стандартом FHS (Filesystem Hierarchy Standard – стандартная структура файловых систем). Данный стандарт регламентирует месторасположение, назначение и содержимое основных системных каталогов. Получить базовое описание стандартной иерархии каталогов Linux можно с помощью команды man hier.

Еще одним существенным отличием файловой системы GNU/Linux является отсутствие расширений для файлов, так как для определения типа файла

9

анализируются его первые байты. Чтобы пользователь мог выяснить данные какого типа содержит интересующий его файл используется команда file, имеющая следующий формат:

file имя_файла

Как, правило, после входа в систему, пользователь оказывается в своѐм домашнем каталоге (аналог папки «Мои документы» Windows), который по умолчанию располагается по адресу /home/имя_пользователя. Подобный вид записи адреса от корневого каталога до конечного файла называется «полным именем файла» (или «полным путем к файлу»). Домашняя директория пользователя обозначается так же символом «~». Имя текущего каталога отображается в приглашении командной строки, а полный путь до него можно узнать, набрав команду pwd.

Указывать полный путь зачастую трудно из-за его значительной длины. Для сокращения длины адреса, во многих командах возможно использование относительного пути, который указывается, начиная от текущего каталога. В относительных путях существует возможность использования символов «.» и «..». Символ «.» означает текущую директорию, а символ «..» – каталог родителя.

Даже корневая директория имеет родительскую директорию - она сама свой родитель!

Для перемещения между каталогами используется специальная команда cd, которая имеет следующий синтаксис:

cd [путь до каталога]

Запуск команды cd без параметров возвращает пользователя в домашний каталог. В противном случае текущая директория будет изменена на заданную.

Для просмотра содержимого директории используется команда ls, которая имеет следующий формат:

ls [опции] [файл|директория] [файл|директория...]

Основные опции:

-R: рекурсивный вывод содержания подкаталогов;

: показывать список файлов, включая скрытые (скрытыми являются файлы, начинающиеся с символа «.»);

: показывать список файлов, исключая «.» и «..»; -l: показывать расширенную информацию о файле;

-i: показывать перед каждым файлом его серийный номер (номер inode); -s: выводить размер файла (в килобайтах) для каждого файла;

-t: сортировка по времени последней модификации файла; -u: сортировка по времени последнего доступа к файлу; -1: вывод в одноколоночном формате.

Если для команды не указан каталог или файл, ls выведет список файлов в текущем каталоге.

10