Файл: Министерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 1254
Скачиваний: 2
СОДЕРЖАНИЕ
Виртуальная среда для выполнения лабораторных работ
Лабораторная работа №1. Основы использования консольного интерфейса ОС GNU/Linux.
Задание на лабораторную работу
Лабораторная работа №2. Обработка текстовых потоков в ОС GNU/Linux
Управление вводом-выводом команд (процессов)
Работа со строками (внутренние команды bash)
Работа со строками (внешние команды)
Задание на лабораторную работу
Лабораторная работа №3. Мониторинг процессов в ОС
Получение общих сведений о запущенных процессах
Получение детальных сведений о запущенных процессах
Получение данных об оперативной памяти
Задание на лабораторную работу
ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.
Лабораторная работа №4. Управление процессами в ОС
Директивы (команды) объединения команд
Команды для управления процессами
минута час день_месяца месяц день_недели команда
Организация взаимодействия двух процессов
Задание на лабораторную работу
Лабораторная работа №5. Работа с файлово-каталожной системой в ОС GNU/Linux
Основные команды для работы с файлами и каталогами
Задание на лабораторную работу
Лабораторная работа №6. Консольный интерфейс ОС
Основные команды, необходимые для выполнения лабораторной работы:
if [not] errorlevel число команда [else команда]
if [not] строка1==строка2 команда [else команда]
if [not] exist имя_файла команда [else команда]
for {%переменная | %%переменная} in (множество) do
Задание на лабораторную работу
-
Создайте свой каталог в директории /home/user/ Все скрипты создавайте внутри этого каталога или его подкаталогов. (mkdir lab1) -
Напишите скрипты, решающие следующие задачи:
-
В параметрах скрипта передаются две строки. Вывести сообщение о равенстве или неравенстве переданных строк. -
В параметрах при запуске скрипта передаются три целых числа. Вывести максимальное из них. -
Считывать строки с клавиатуры, пока не будет введена строка "q". После этого вывести последовательность считанных строк в виде одной строки. -
Считывать с клавиатуры целые числа, пока не будет введено четное число. После этого вывести количество считанных чисел. -
Создать текстовое меню с четырьмя пунктами. При вводе пользователем номера пункта меню происходит запуск редактора nano, редактора vi, браузера links или выход из меню. -
Если скрипт запущен из домашнего директория, вывести на экран путь к домашнему директорию и выйти с кодом 0. В противном случае вывести сообщение об ошибке и выйти с кодом 1.
-
Предъявите скрипты преподавателю и получите вопрос или задание для защиты лабораторной работы. -
После защиты лабораторной работы удалите созданный директорий со всем его содержимым:
Лабораторная работа №2. Обработка текстовых потоков в ОС GNU/Linux
Рассматриваемые вопросы
-
Понятие стандартного ввода и стандартного вывода процесса -
Перенаправление стандартного вывода в файл -
Связь процессов по вводу/выводу -
Использование вывода процесса как параметра другого процесса -
Регулярные выражения и фильтрация текстовых потоков
Методические рекомендации:
Основным интерфейсом в операционных системах GNU/Linux являетсяконсольный интерфейс с текстовым вводом и выводом данных. Это определяетподходкуправлениюобъектамиоперационнойсистемывихтекстовомотображении.Например,состояниепроцессовотображаетсяввиденаборатекстовыхфайловвпсевдофайловойсистеме/proc,сведенияособытияхвсистемехранятсявтекстовыхфайлахжурналов,настройкиотдельныхпакетовв текстовых конфигурационных файлах. Это делает необходимым для решениядальнейшихзадачуправленияоперационнойсистемыосвоениеинструментарияработы стекстовымипотоками.Управление вводом-выводом команд (процессов)
У любого процесса по умолчанию всегда открыты три файла – stdin(стандартныйввод,клавиатура),stdout (стандартныйвывод,экран)иstderr (стандартныйвыводсообщенийобошибкахнаэкран).Этиилюбыедругие открытые файлы могут быть перенаправлены. В данном случае термин"перенаправление" означает: получить вывод из файла (команды, программы,сценария)ипередатьегонавходвдругойфайл(команду,программу,сценарий).Дескрипторы файловоткрытых поумолчанию:0 = stdin
1=stdout2 = stderr
команда>файл –перенаправлениестандартноговыводавфайл,содержимоесуществующегофайлаудаляется.команда >> файл –перенаправлениестандартноговыводавфайл,потокдописываетсяв конецфайла.команда1 | команда2 –перенаправлениестандартноговыводапервойкомандынастандартныйвводвторойкоманды=образованиеконвейеракоманд.команда1$(команда2) –передачавыводакоманды2вкачествепараметровпризапускекоманды1.Внутрискриптаконструкция$(команда2) можетиспользоваться,например,дляпередачирезультатовработыкоманды2 в параметры циклаfor … in.Работа со строками (внутренние команды bash)
${#string}–выводитдлинустроки(string–имяпеременной);${string:position:length}–извлекает$lengthсимволовиз$string,начинаяспозиции$position.Частныйслучай:${string:position}извлекаетподстрокуиз$string,начинаяспозиции$position.
${string#substring}–удаляетсамуюкороткуюизнайденныхподстрок$substringвстроке$string.Поискведетсясначаластроки.$substring–регулярноевыражение(см.ниже).${string##substring}–удаляетсамуюдлиннуюизнайденныхподстрок$substringв строке $string.Поискведется с началастроки.$substring–регулярноевыражение.${string/substring/replacement}–замещаетпервоевхождение$substringстрокой$replacement.$substring– регулярное выражение.
${string//substring/replacement} – замещает все вхождения
$substring строкой $replacement. $substring – регулярное выражение.
Работа со строками (внешние команды)
Длякаждойкомандыдоступноуправлениеспомощьюпередаваемыхкоманде параметров. Рекомендуем ознакомиться с документацией по этимкомандамспомощьюкомандыman.sort –сортируетпотоктекставпорядкеубыванияиливозрастания,взависимостиотзаданных опций.uniq–удаляетповторяющиесястрокиизотсортированногофайла.cut– извлекает отдельные поля из текстовых файлов (поле –последовательностьсимволоввстрокедоразделителя).head–выводитначальныестрокиизфайланаstdout.tail–выводитпоследниестрокиизфайланаstdout.wc–подсчитываетколичествослов/строк/символов вфайлеиливпотокеtr–заменяетоднисимволынадругие.Полнофункциональныемногоцелевыеутилиты:grep –многоцелеваяпоисковаяутилита,использующаярегулярныевыражения.grep pattern [file...] – утилита поиска участков текста в файле(ах),соответствующихшаблонуpattern,гдеpattern можетбытькакобычнойстрокой,такирегулярнымвыражением.Sed – неинтерактивный "потоковый редактор". Принимает текст либо сустройства stdin, либо из текстового файла, выполняет некоторые операциинадстрокамиизатемвыводитрезультатнаустройствоstdout иливфайл.Sed определяет, по заданному адресному пространству, над какими строкамиследует выполнить операции. Адресное пространство строк задается либо ихпорядковыми номерами, либо шаблоном. Например, команда 3d заставит sedудалитьтретьюстроку,акоманда/windows/d означает,чтовсестроки,содержащие "windows", должны быть удалены. Наиболее часто используютсякомандыp–печать(наstdout),d–удалениеиs–замена.awk–утилитаконтекстногопоискаипреобразованиятекста,инструментдляизвлечения и/или обработки полей (колонок) в структурированных текстовыхфайлах. Awk разбивает каждую строку на отдельные поля. По умолчанию поля –это последовательности символов, отделенные друг от друга пробелами, однакоимеетсявозможностьназначениядругихсимволоввкачестверазделителяполей.Awkанализируетиобрабатываеткаждоеполевотдельности.Регулярныевыражения–этонаборсимволови/илиметасимволов,которыенаделены особыми свойствами.Ихосновноеназначение–поисктекстапошаблонуиработасостроками.Припостроениирегулярныхвыраженийиспользуютсянижеследующие конструкции (в порядке убывания приоритета), некоторые изкоторыхмогутбытьиспользованытольковрасширенныхверсияхсоответствующихкоманд (например,при запускеgrep