Практические работы / Практическая работа 2
.docxФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Московский технический университет связи и информатики»
Центр заочного обучения по программам бакалавриата
Кафедра «Математической кибернетики и информационных технологий»
Отчет
Практическая работа № 3
«Разработка интерактивного сценария bash»
по дисциплине: «Операционные системы»
Выполнила: Иванова Иоанна, студентка группы БСТ17хх
Цель работы.
Изучение основных правил программирования на языке bash;
Приобретение навыка работы в консольном текстовом редакторе;
Продолжение знакомства с командами bash;
Приобретение навыков разработки интерактивного сценария.
Задания на лабораторную работу.
Разработать скрипт, осуществляющий вызов меню, состоящего из следующих пунктов:
Текущий пользователь
Объем используемой памяти
Объем дискового пространства
Запущенные процессы
Процессы, запущенные текущим пользователем
Системная дата и время
Время запуска системы
Выход
И вывод соответствующей информации, в зависимости от выбранного пункта меню.
Процесс повторять до тех пор, пока не будет выбран пункт «Выход».
Код программы.
#!/bin/bash
select var in "Текущий пользователь" "Объем используемой памяти" "Объем дискового пространства" "Запущенные процессы" "Процессы, запущенные текущим пользователем" "Системная дата и время" "Время запуска системы" "Выход";
do
echo $var;
case "$var" in
"Текущий пользователь" ) whoami;;
"Объем используемой памяти" ) free;;
"Объем дискового пространства" ) df -Th;;
"Запущенные процессы" ) ps -A;;
"Процессы, запущенные текущим пользователем" ) usr=` who|cut -d' ' -f1|uniq `; ps -u $usr;;
"Системная дата и время" ) date;;
"Время запуска системы" ) uptime;;
"Выход" ) exit;;
esac
done
Имя текущего пользователя (whoami).
Выводит действительный идентификатор пользователя.
Рисунок 1. Результат выбора пункта «Текущий пользователь»
Количество памяти (free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]).
Показывает общее количество свободной и используемой физической памяти, и памяти, отведенной для свопирования в системе, а так же совместно используемую память и буферы, используемые ядром.
-b показывает количество памяти в байтах;
-k (по умолчанию) показывает количество пвмяти в килобайтах;
-m показывает количество памяти в мегабайтах
-t показывает строки, содержащие полное количество памяти
-o запрещает показывать строки, относящиеся к "массиву буфера".
-s разрешает безостановочно выводить информацию с промежутком в delay секунд
-V показывает информацию о версии программы
Рисунок 2. Результат выбора пункта «Объем используемой памяти»
Отчёт об использовании дискового пространства (df).
Синтаксис команды: df [опции] [устройство...].
-t тип-файловой-системы
-x тип-файловой- системы
--block-size=размер
--print-type
--no-sync
--sync
--help
--version
Рисунок 3. Результат выбора пункта «Объем дискового пространства»
Отчет о работающих процессах (ps).
Команда ps выводит в стандартный вывод информацию о текущем состоянии процессов. Синтаксис команды: ps [опции].
-a все терминальные процессы
-e все процессы
-gсписок - выбирать процессы по списку лидеров групп
-pсписок - выбирать процессы по списку идентификаторов процессов
-tсписок - выбирать процессы по списку терминалов
-uсписок - выбирать процессы по списку идентификаторов пользователей.
-f генерировать полный листинг
-l генерировать листинг в длинном формате.
Рисунок 4. Результат выбора пункта «Запущенные процессы»
Р исунок 5. «Процессы, запущенные текущим пользователем»
Системная дата и время (date).
Показывает текущее время в заданном формате, или устанавливает системную дату и время. Синтаксис команды:
date [ПАРАМЕТР]... [+ФОРМАТ]
date [-u|--utc|--universal] [ММДДччмм[[ВВ]ГГ][.сс]]
Рисунок 6. Результат выбора пункта «Системная дата и время»
Время работы системы (uptime).
Показывает время работы системы от последнего запуска.
Синтаксис команды: uptime uptime [-V]
Р исунок 7. Результат выбора пункта «Время запуска системы»
Код завершения (exit).
Команда exit может использоваться для завершения работы сценария.
Рисунок 8. Результат выбора пункта «Выход»
Выводы.
В данной практической работе мы изучили основные правила программирования на языке bash, приобрели навык работы в консольном текстовом редакторе, а также приобрели навык разработки интерактивного сценария.
Москва, 2020