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

Практические работы / Практическая работа 2

.docx
Скачиваний:
63
Добавлен:
15.02.2021
Размер:
531.75 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Московский технический университет связи и информатики»

Центр заочного обучения по программам бакалавриата

Кафедра «Математической кибернетики и информационных технологий»

Отчет

Практическая работа № 3

«Разработка интерактивного сценария bash»

по дисциплине: «Операционные системы»

Выполнила: Иванова Иоанна, студентка группы БСТ17хх

Цель работы.

  1. Изучение основных правил программирования на языке bash;

  2. Приобретение навыка работы в консольном текстовом редакторе;

  3. Продолжение знакомства с командами bash;

  4. Приобретение навыков разработки интерактивного сценария.

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

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

  • Текущий пользователь

  • Объем используемой памяти

  • Объем дискового пространства

  • Запущенные процессы

  • Процессы, запущенные текущим пользователем

  • Системная дата и время

  • Время запуска системы

  • Выход

И вывод соответствующей информации, в зависимости от выбранного пункта меню.

  1. Процесс повторять до тех пор, пока не будет выбран пункт «Выход».

Код программы.

#!/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