Файл: Министерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 1272

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание

Введение

Виртуальная среда для выполнения лабораторных работ

Лабораторная работа №1. Основы использования консольного интерфейса ОС GNU/Linux.

Рассматриваемые вопросы:

Методические рекомендации:

Арифметические операторы:

Условный оператор.

Операции сравнения:

Задание на лабораторную работу

Лабораторная работа №2. Обработка текстовых потоков в ОС GNU/Linux

Рассматриваемые вопросы

Методические рекомендации:

Управление вводом-выводом команд (процессов)

0 = stdin

2 = stderr

Работа со строками (внутренние команды bash)

$position.

Работа со строками (внешние команды)

Классы символов POSIX

Задание на лабораторную работу

Лабораторная работа №3. Мониторинг процессов в ОС

Рассматриваемые вопросы

Методические рекомендации:

Идентификация процессов

Получение общих сведений о запущенных процессах

Получение детальных сведений о запущенных процессах

Обработка данных о процессах

Получение данных об оперативной памяти

Задание на лабораторную работу

ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.

Лабораторная работа №4. Управление процессами в ОС

Рассматриваемые вопросы

Методические рекомендации:

Директивы (команды) объединения команд

{

Команды для управления процессами

минута час день_месяца месяц день_недели команда

Организация взаимодействия двух процессов

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

Задание на лабораторную работу

Лабораторная работа №5. Работа с файлово-каталожной системой в ОС GNU/Linux

Рассматриваемые вопросы

Методические рекомендации

Основные команды для работы с файлами и каталогами

./../../home/user/file будет соответствовать пути к файлу в домашнем каталоге, как и описанный выше пример абсолютного пути.Для того, чтобы перейти к корню файловой системы можно использовать команду cd /Для обозначения домашнего каталога активного пользователя можно использовать символ . Тогда запись cd

Задание на лабораторную работу

Лабораторная работа №6. Консольный интерфейс ОС

Рассматриваемые вопросы

Методические рекомендации

Основные команды, необходимые для выполнения лабораторной работы:

if [not] errorlevel число команда [else команда]

if [not] строка1==строка2 команда [else команда]

if [not] exist имя_файла команда [else команда]

for {%переменная | %%переменная} in (множество) do

Задание на лабораторную работу

LAB6.

LAB6.

Рекомендуемая литература

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

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

методические указания

это ссылка на ее значение. "Чистые" имена переменных, без префикса $, могут использоваться только при объявлении переменной или при присваивании переменной некоторого значения. В отличие от большинства других языков программирования, Bash не производит разделения переменных по типам. По сути, переменные Bash являются строковыми переменными, но, в зависимости от контекста, Bash допускает целочисленную арифметику с переменными. Определяющим фактором здесь служит содержимое переменных.
Оператор присваивания "=". При использовании оператора присваивания нельзя ставить пробелы слева и справа от знака равенства. Если в процессе присваивания требуется выполнить арифметические операции, то перед записью арифметического выражения используют оператор let, например:
Let a=2\*2

(оператор умножения является специальным символом и должен быть экранирован).


Арифметические операторы:

"+" сложение"–" вычитание"*"умножение"/" деление (целочисленное)"**" возведение в степень"%"остатокотделенияСпециальныепеременные.ДляBashсуществуетрядзарезервированныхименпеременных,которыехранятопределенныезначения.

  • Позиционные параметры. Аргументы, передаваемые скрипту из командной строки, хранятся в зарезервированных переменных $0, $1, $2, $3..., где $0 – это название файла сценария, $1 – это первый аргумент, $2 – второй, $3 – третий и так далее. Аргументы, следующие за $9, должны заключаться в фигурные скобки, например: ${10}, ${11}, ${12}. Передача параметров скрипту происходит в виде перечисления этих параметров после имени скрипта через пробел в момент его запуска.

  • Другие зарезервированные переменные:
$DIRSTACK–содержимоевершиныстекакаталогов$EUID–эффективныйUID.$UID –...содержитреальный идентификатор,которыйустанавливаетсятолькопри логине.$GROUPS–массивгруппккоторымпринадлежиттекущийпользователь$HOME–домашнийкаталогпользователя$HOSTNAME–hostnameкомпьютера$HOSTTYPE–архитектурамашины.$PWD–рабочийкаталог$OSTYPE–типОС$PATH–путьпоискапрограмм$PPID–идентификаторродительскогопроцесса$SECONDS–времяработыскрипта(всекундах)$#–общееколичествопараметров, переданныхскрипту$*–всеаргументы,переданныескрипту(выводятсявстроку)

$@ – то же самое, что и предыдущий, но параметры выводятся в столбик

$! – PID последнего запущенного в фоне процесса

$$ – PID самого скрипта

Код завершения. Команда exit может использоваться для завершения работы сценария, точно так же как и в программах на языке C. Кроме того, она может возвращать некоторое значение, которое может быть проанализировано вызывающим процессом. Команде exit можно явно указать код возврата, в виде exit nnn, где nnn – это код возврата (число в диапазоне 0– 255).

Оператор вывода. Echo переменные_или_строки

Оператор ввода. Read имя_переменной. Одна команда read может прочитать (присвоить) значения сразу для нескольких переменных. Если переменных в read больше, чем их введено (через пробелы), оставшимся присваивается пустая строка. Если передаваемых значений больше, чем переменных в команде read, то лишние игнорируются.


Условный оператор.

If команда1then команда2[elseкоманда3]fi.Есликоманда1вернулапослевыполнениязначение"истина",товыполняетсякоманда2 после then. Если есть необходимость сравнивать значенияпеременныхи/иликонстант,послеifиспользуетсяспециальнаякоманда[[выражение]].Обязательноставить пробелы междувыражением искобками,например:if [[ "$a" –eq "$b" ]]thenecho "a= b"fi

Операции сравнения:

Операциисравненияцелыхчисел:-eq#равно-ne#неравно-lt#меньше-le#меньшеилиравно-gt#больше-ge#большеилиравноОперациисравнениястрок:-z#строкапуста-n#строканепуста=или==#строкиравны!=# строкинеравны<# меньше (сравниваютсякоды символов)<=#меньшеилиравно(сравниваютсякодысимволов)># больше(сравниваются кодысимволов)>=#большеилиравно(сравниваютсякодысимволов)!#отрицание логическоговыражения-a,(&&)#логическое«И»-o,(||)#логическое«ИЛИ»Множественный выбор. Для множественного выбора можетприменятьсяоператор case.case переменная inзначение1)команда1;;значение2)команда2;;esacВыбираемыезначенияобозначаютсяправойскобкойвконцезначения.Разделитель ситуаций–;;Циклfor.Существует
дваспособазаданияциклаfor.

  1. Стандартный – for переменная in список_значений; do;
команды;done.Например:for i in 0 1 2 3doecho $idone

  1. С-подобный
for ((i=0; c <=3; i++))doecho $idoneЦиклwhile:whileусловие;do;команда;done.Синтаксисзаписиусловиятакойже,как ивусловномоператоре,например:i=0while [ i –le 3 ]doecho $ilet i+=1doneУправление циклами. Для управления ходом выполнения цикла служаткоманды break и continue. Они точно соответствуют своим аналогам вдругихязыкахпрограммирования.Командаbreak прерываетисполнениецикла, в то время как continue передает управление в начало цикла, минуявсепоследующиекоманды в телецикла.