
выполненные работы / л.р.1 Архангельский М.В. 2154
.docx
М
инистерство
цифрового развития, Связи и Массовых
Коммуникаций Российской Федерации
Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное
учреждение высшего образования
«Московский Технический Университет Связи и Информатики» (МТУСИ)
Кафедра «Системного программирования»
Лабораторная работа №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 (сразу же сделав его исполняемым через команду на изменение прав для файла) для написания первого скрипта, который решает следующую задачу:
В параметрах при запуске скрипта передаются две строки. Вывести сообщение о равенстве или неравенстве переданных строк.
Проверка скрипта на работоспособность (запустим скрипт, введем несколько слов):
В параметрах при запуске скрипта передаются три целых числа. Вывести максимальное из них.
Создам файл для скрипта под названием «max_4islo», выдам соответствующие права на исполнение. Напишу скрипт:
Проведу проверку скрипта, введя несколько чисел
3) Считывать строки с клавиатуры, пока не будет введена строка, содержащая вашу фамилию. После этого вывести последовательность считанных строк в виде одной строки.
Создам файл для скрипта под названием «familiya», выдам соответствующие права на исполнение. Напишу скрипт:
Проведу проверку скрипта, вводя различные слова, и в конце свою фамилию.
4) Считывать с клавиатуры целые числа, пока не будет введено четное число. После этого вывести количество считанных чисел.
Создам файл для скрипта под названием «4etnoe_4islo», выдам соответствующие права на исполнение. Напишу скрипт:
Проведу проверку скрипта, вводя сначала нечетные числа, и в конце четное число.
5) Если скрипт запущен из домашнего директория, вывести на экран путь к домашнему директорию и выйти с кодом 0. В противном случае вывести сообщение об ошибке и выйти с кодом 1. Отразить на скриншоте проверку кода завершения вашего скрипта.
Создам файл для скрипта под названием «domashyaya_papka», выдам соответствующие права на исполнение. Напишу скрипт:
Проверю скрипт. Запущу его сначала из домашней директории, затем сменю директорию и заново запущу скрипт. Результаты проверки на изображении
6. Разработать скрипт на языке bash, осуществляющий вывод меню, состоящего из следующих пунктов:
текущий пользователь;
объем используемой памяти;
объем дискового пространства;
список запущенных процессов;
список процессов, запущенных текущим пользователем;
системные дата и время;
время запуска системы;
выход;
и вывод соответствующей информации в зависимости от выбранного пункта меню. Процесс повторять до тех пор, пока не будет выбран пункт меню «выход».
Создам файл для скрипта под названием «script_lab1», выдам соответствующие права на исполнение. Напишу скрипт:
Проверим скрипт, запустим его
Имеется 8 пунктов меню, проверим работоспособность каждого из них
Текущий пользователь
Объем используемой памяти
Объем дискового пространства
Список запущенных процессов
Список процессов, запущенных текущим пользователем
Системные дата и время
Время запуска системы
Выход
Заключение
В ходе лабораторной работы, я ознакомился с основными принципами работы в операционной системе Linux. Приобрел навык работы в командной строке Linux. Изучил и применил основные команды Bash. Приобрел навыки разработки скриптов на языке Bash и работы в консольном текстовом редакторе.