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

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

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

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

Добавлен: 11.01.2024

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

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

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

СОДЕРЖАНИЕ

Содержание

Введение

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

Лабораторная работа №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.

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

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

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

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

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





    1. Создайте свой каталог в директории /home/user/ Все скрипты создавайте внутри этого каталога или его подкаталогов. (mkdir lab1)

    2. Напишите скрипты, решающие следующие задачи:




      1. В параметрах скрипта передаются две строки. Вывести сообщение о равенстве или неравенстве переданных строк.

      2. В параметрах при запуске скрипта передаются три целых числа. Вывести максимальное из них.

      3. Считывать строки с клавиатуры, пока не будет введена строка "q". После этого вывести последовательность считанных строк в виде одной строки.

      4. Считывать с клавиатуры целые числа, пока не будет введено четное число. После этого вывести количество считанных чисел.

      5. Создать текстовое меню с четырьмя пунктами. При вводе пользователем номера пункта меню происходит запуск редактора nano, редактора vi, браузера links или выход из меню.

      6. Если скрипт запущен из домашнего директория, вывести на экран путь к домашнему директорию и выйти с кодом 0. В противном случае вывести сообщение об ошибке и выйти с кодом 1.




    1. Предъявите скрипты преподавателю и получите вопрос или задание для защиты лабораторной работы.

    2. После защиты лабораторной работы удалите созданный директорий со всем его содержимым:


(rm –R lab1)


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

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





  1. Понятие стандартного ввода и стандартного вывода процесса

  2. Перенаправление стандартного вывода в файл

  3. Связь процессов по вводу/выводу

  4. Использование вывода процесса как параметра другого процесса

  5. Регулярные выражения и фильтрация текстовых потоков

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



Основным интерфейсом в операционных системах GNU/Linux является консольный интерфейс с текстовым вводом и выводом данных. Это определяет подход к управлению объектами операционной системы в их текстовом отображении. Например, состояние процессов отображается в виде набора текстовых файлов в псевдофайловой системе /proc, сведения о событиях в системе хранятся в текстовых файлах журналов, настройки отдельных пакетов в текстовых конфигурационных файлах. Это делает необходимым для решения дальнейших задач управления операционной системы освоение инструментария работы с текстовыми потоками.

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



У любого процесса по умолчанию всегда открыты три файла – stdin (стандартный ввод, клавиатура), stdout (стандартный вывод, экран) и stderr (стандартный вывод сообщений об ошибках на экран). Эти и любые другие открытые файлы могут быть перенаправлены. В данном случае термин "перенаправление" означает: получить вывод из файла (команды, программы, сценария) и передать его на вход в другой файл (команду, программу, сценарий). Дескрипторы файлов открытых по умолчанию:

0 = stdin


1 = stdout

2 = 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