engineerklub | Дата: Суббота, 28.05.2022, 06:41 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 29498
Статус: Offline
| Операционные системы. Вариант 04
Тип работы: Работа Лабораторная Сдано в учебном заведении: ДО СИБГУТИ
Описание: Контрольная работа По дисциплине: "Операционные системы" Вариант №15 Теоретический вопрос Средства взаимодействия процессов в Unix. Понятие конвейера. Именованные каналы. Команды управления процессами
Лабораторная работа №1 По дисциплине: "Операционные системы"
Лабораторная работа №1
1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк вида (строка начинается с цифры порядкового номера строки): 1. my name is … 2. my surname is … 3. login is … 4. <текст произвольного содержания (не менее 2-х слов)> 5. <текст произвольного содержания (не менее 2-х слов)> 6. <текст произвольного содержания (не менее 2-х слов)>
2. Создать файл a2 с помощью команды touch; в редакторе vi ввести в файл текст из 6-ти строк аналогичного с содержимым файла a1 вида.
3. Убедиться, что файлы созданы (команда ls -l); просмотреть их содержимое (команда cat). Результат вывода команды ls –l занести в отчет.
4. Изменить права доступа к этим файлам: владельцу все права, группе чтение и запись, остальным никаких прав доступа. Прочитать новые права доступа.
5. Первые две строки файла a1 занести в файл a3. Добавить в файл a3 две последние строки файла a1. Просмотреть содержимое файла a3.
6. Отсортировать файл a2 в обратном порядке. Результат сортировки, используя опцию команды сортировки, вывести в файле a2_s.
7. Отсортировать файл a2 по 2-му столбцу. Результат сортировки, используя опцию команды сортировки, вывести в файле a2_s2. Убедиться, что файлы a2_s и a2_s2 созданы; просмотреть их содержимое.
8. Создать файл mix, содержащий 1-ю и 2-ю строки файла a2, 3-ю строку файла а1, 4 и 5-ю строки файла а2_s2.
9. С помощью команды grep найти в файлах домашней директории строки, содержащие цифру “3”. Результат выполнения команды занести в файл a_g.
10. С помощью команды cut выделить в файле a2 первый столбец.
11. С помощью команды cut выделить в файле a_g имена файлов, отделив их от строки, содержащей цифру “3”.
12. Создать в домашней директории каталоги с именем D1 и D1_1.
13. Перенести в директорию D1 файл a2; скопировать в директорию D1 файл a3 под именем a3d1; скопировать в директорию D1_1 файл a3 под именем a3d1_1. Проверить наличие в директориях D1 и D1_1 указанных файлов.
14. Перейти из домашней директории в директорию D1. Убедиться, что текущей директорией стала директория D1. Создать в текущей директории D1 жесткую связь с файлом a1, находящимся в домашней директории (создать новое имя существующему файлу), с именем a1_h.
15. Создать в текущей директории D1 файл символической связи с файлом a1, находящимся в домашней директории, с именем a1_sym.
16. Создать в директории D1 каталог с именем D2. Перенести в директорию D2 файл a2; скопировать в директорию D2 файл a3d1 под именем a3d2. Проверить наличие в директории D2 указанных файлов. a) Установить директорию D2 в режим “темной” директории (нет права на чтение, но есть право на исполнение); b) Произвести попытку прочитать содержимое директории D2; c) Прочитать содержимое файлов “темной” директории.
17. Перейти в директорию /home. Убедиться, что текущей директорией стала директория /home. Прочитать рекурсивно содержимое текущей директории. Исключить вывод потока ошибок на терминал.
18. Перейти в домашнюю директорию. Убедиться, что она стала текущей директорией. С помощью команды du вывести размеры каталогов. Исключить вывод потока ошибок на терминал.
19. Используя команды grep, cut и sort, получить список имѐн тех файлов в каталоге /etc/, в тексте которых содержится запись ip-адреса. Список имен файлов не должен иметь повторений. Результат занести в файл g_ip.
20. Получить рекурсивно список файлов домашней директории, в имени которых есть буква «а», отсортированный без повторов. Результат занести в файл spisok_a каталога D1_1.
Лабораторная работа №2 По дисциплине: "Операционные системы" 1. Написать 2 скрипта: - add_phone, создающий список телефонных номеров и фамилии пользователей; while true; do read -p "Фамилия и телефон: " data echo $data >>phones done
- search_phone, осуществляющий поиск телефонных номеров по фамилии или по шаблону. read -p "Фамилия или шаблон: " data if ! ( grep $data phones ); then echo "Нет данных" fi
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Суббота, 28.05.2022, 06:42 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 29498
Статус: Offline
| 2. В качестве параметра скрипта указывается имя пользователя. Если пользователь с указанным именем существует, вывести информацию о том, работает ли он в данный момент в системе; иначе – вывести сообщение «Нет такого пользователя» (список пользователей, зарегистрированных в системе, находится в файле /etc/passwd). usr=$(grep -n $1 /etc/passwd) if [[ -z $usr ]]; then echo "Нет такого пользователя" else usr=$(who | grep $1) if ! [[ -z $usr ]]; then echo Пользователь работает в системе else echo Пользователь не работает в системе fi fi
3. Параметры скрипта – список имен пользователей. Вывести число сеансов тех из них, кто сейчас в сети (информацию о сеансах выдает команда last). for i in $@; do if (last virt | grep $i | grep logged); then echo Пользователь $i, число сеансов $(last $i | grep $i | wc -l) fi done
4. Написать скрипт, проверяющий наличие в домашней директории файла profile. Если этот файл отсутствует, то скопировать его из директории /etc. if [ -f ~/profile ]; then echo profile есть в директори ~ else echo cp /etc/profile ~ cp /etc/profile ~ fi
5. Написать скрипт, проверяющий тип файла. Если файл - каталог, то вывести его содержимое, иначе - вывести сообщение о типе файла. if [ -d $1 ]; then echo Содержимоек каталога $1: $(ls $1) else echo Тип файла $1: $(file $1) fi
6. Написать скрипт, в котором создать каталог save, переписать в него содержимое текущего каталога рекурсивно т.е. с поддиректориями и установить на директорию все права для всех. mkdir save cp -R $(ls . | grep [^save]) save chmod 777 save
7. Создать в текущем каталоге и в поддиректориях файлы нулевой длины (пустые файлы). Написать скрипт, удаляющий рекурсивно файлы нулевой длины. find . -type f -empty -delete
8. Написать скрипт, в котором в качестве параметров командной строки заданы имена файлов. Если задан один файл, то подсчитать число букв в этом файле; если задано два файла – подсчитать число слов; если задано три файла – подсчитать число строк; иначе вывести сообщение об ошибке. case $# in 1) wc -c $1;; 2) wc -w $1 wc -w $2;; 3) wc -l $1 wc -l $2
Лабораторная работа №3 По дисциплине: "Операционные системы" Лабораторная работа №3
1. Создать файл, содержащий MAC–адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса.
2. Создать файл, содержащий cписок доступных IP–адресов локальной сети.
3. Создать файл, содержащий IP–адрес и сетевое имя шлюза по умолчанию для выхода в Интернет.
4. Создать файл, содержащий перечень имен и IP-адресов узлов, входящих в маршрут до вашего почтового сервера (например, mail.ru, yandex.ru). traceroute mail.ru >trace.txt cat trace.txt | head -n 1 | cut -f 2 -d "(" | cut -f 1 -d ")" tail -n +2 trace.txt | cut -f 6 -d " " | sort -u
5. Определить, какие из этих узлов доступны для связи в данный момент. while read i; do if [[ -n $(ping -c1 -w1 $i | grep to) ]]; then echo $i в сети else echo $i не в сети fi done <trace.tx
СКАЧАТЬ
|
|
| |