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

выполненные работы / л.р.1 Архангельский М.В. 2154

.docx
Скачиваний:
2
Добавлен:
07.04.2025
Размер:
1.96 Mб
Скачать

М инистерство цифрового развития, Связи и Массовых Коммуникаций Российской Федерации

Ордена Трудового Красного Знамени

федеральное государственное бюджетное образовательное

учреждение высшего образования

«Московский Технический Университет Связи и Информатики» (МТУСИ)

Кафедра «Системного программирования»

Лабораторная работа №1

«Знакомство с командной строкой Linux»

по дисциплине:

Операционные системы

Выполнил:

студент группы БСТ2154

Архангельский Максим Вячеславович

Студенческий билет № ЗБСТ21001

Проверил:

Старший преподаватель

Королькова Татьяна Валерьевна

Москва 2024

Цель работы

  • знакомство с основными принципами работы в операционной системе Linux;

  • приобретение навыка работы в командной строке Linux;

  • изучение основных команд Bash;

  • приобретение навыка разработки скриптов на языке Bash;

  • приобретение навыка работы в консольном текстовом редакторе.

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

1. Ознакомиться с командами Linux.

Выполнить команды top, free, ps с различными опциями.

2. Войти в свой домашний каталог. Для этого нужно выполнить команду cd ~

Вы находитесь в своем рабочем каталоге. Здесь хранятся ваши пользовательские файлы и настройки программ, которые вы используете.

3. Создать следующую структуру каталогов и файлов:

1) в домашнем каталоге создать каталог inform_фамилия (ваша фамилия латиницей);

2) перейти в каталог inform_фамилия создать в нем каталог lab1;

3) внутри каталога lab1 создать каталог catalog1, файл file1 (например, используя команду echo или touch), каталог catalog2. Перейти в каталог catalog2;

4) внутри каталога catalog2 создать файлы file3 и file4, каталог catalog3;

5) внутри каталога catalog3 создать файл file5, жесткую ссылку на файл file1, жесткую ссылку на каталог catalog2;

6) создать в каталоге lab1 символическую ссылку s_link на файл file5.

4. Проконтролировать структуру созданных вами каталогов и просмотреть содержимое файлов.

Структуру каталогов в консольном режиме можно просмотреть с помощью команды tree. Утилита выводит дерево каталогов в отформатированном виде. Пакет tree находится в репозиториях Ubuntu, поэтому установка выполняется одной строкой:

sudo apt-get update && apt-get install tree

Для вывода дерева каталогов команда должна иметь следующий вид:

tree –а

5. В каталоге, созданном ранее (inform_Ваша_фамилия (латиницей)) создайте подкаталог scripts в котором создавайте все скрипты этой работы. Напишите скрипты, решающие следующие задачи:

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

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

3) Считывать строки с клавиатуры, пока не будет введена строка, содержащая вашу фамилию. После этого вывести последовательность считанных строк в виде одной строки.

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

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

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

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

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

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

  • список запущенных процессов;

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

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

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

  • выход;

и вывод соответствующей информации в зависимости от выбранного пункта меню. Процесс повторять до тех пор, пока не будет выбран пункт меню «выход».

Выполнение (ход лабораторной работы)

1. Ознакомиться с командами Linux.

Выполнить команды top, free, ps с различными опциями.

Команда top (выводит системную статистику и список текущих процессов)

Команда top с ключом -H

Команда top с ключом -1

Команда free. Отображает информацию о использовании оперативной памяти.

Использовал с ключами –kilo и –mega для отображения объема используемой памяти в килобайтах и мегабайтах.

Команда ps — используется для вывода списка процессов.

Отображение связанных с пользователями процессов и более детальные сведения о работе задач, нагрузке их на процессор и точное расположение – ps -au.

2. Войти в свой домашний каталог. Для этого нужно выполнить команду cd ~

3. Создать следующую структуру каталогов и файлов:

1) в домашнем каталоге создать каталог inform_фамилия (ваша фамилия латиницей);

2) перейти в каталог inform_фамилия создать в нем каталог lab1;

3) внутри каталога lab1 создать каталог catalog1, файл file1 (например, используя команду echo или touch), каталог catalog2. Перейти в каталог catalog2;

4) внутри каталога catalog2 создать файлы file3 и file4, каталог catalog3;

5) внутри каталога catalog3 создать файл file5

Выполнение вышеперечисленных действий отображено на изображении ниже:

Создать жесткую ссылку на файл file1, жесткую ссылку на каталог catalog2;

6) создать в каталоге lab1 символическую ссылку s_link на файл file5.

Ввиду того, что создание жесткой ссылки на каталог невозможно, создам символическую ссылку на каталог.

4. Проконтролировать структуру созданных вами каталогов и просмотреть содержимое файлов.

Структуру каталогов в консольном режиме можно просмотреть с помощью команды tree.

Для вывода дерева каталогов команда должна иметь следующий вид:

tree –а

5. В ранее созданном каталоге inform_arkhangelskiy создал подкаталог scripts и создал файл stroki (сразу же сделав его исполняемым через команду на изменение прав для файла) для написания первого скрипта, который решает следующую задачу:

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

Проверка скрипта на работоспособность (запустим скрипт, введем несколько слов):

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

Создам файл для скрипта под названием «max_4islo», выдам соответствующие права на исполнение. Напишу скрипт:

Проведу проверку скрипта, введя несколько чисел

3) Считывать строки с клавиатуры, пока не будет введена строка, содержащая вашу фамилию. После этого вывести последовательность считанных строк в виде одной строки.

Создам файл для скрипта под названием «familiya», выдам соответствующие права на исполнение. Напишу скрипт:

Проведу проверку скрипта, вводя различные слова, и в конце свою фамилию.

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

Создам файл для скрипта под названием «4etnoe_4islo», выдам соответствующие права на исполнение. Напишу скрипт:

Проведу проверку скрипта, вводя сначала нечетные числа, и в конце четное число.

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

Создам файл для скрипта под названием «domashyaya_papka», выдам соответствующие права на исполнение. Напишу скрипт:

Проверю скрипт. Запущу его сначала из домашней директории, затем сменю директорию и заново запущу скрипт. Результаты проверки на изображении

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

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

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

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

  • список запущенных процессов;

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

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

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

  • выход;

и вывод соответствующей информации в зависимости от выбранного пункта меню. Процесс повторять до тех пор, пока не будет выбран пункт меню «выход».

Создам файл для скрипта под названием «script_lab1», выдам соответствующие права на исполнение. Напишу скрипт:

Проверим скрипт, запустим его

Имеется 8 пунктов меню, проверим работоспособность каждого из них

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

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

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

  1. Список запущенных процессов

  1. Список процессов, запущенных текущим пользователем

  1. Системные дата и время

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

  1. Выход

Заключение

В ходе лабораторной работы, я ознакомился с основными принципами работы в операционной системе Linux. Приобрел навык работы в командной строке Linux. Изучил и применил основные команды Bash. Приобрел навыки разработки скриптов на языке Bash и работы в консольном текстовом редакторе.