Понедельник, 13.01.2025, 02:41
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Операционные системы. Вариант 04
engineerklubДата: Суббота, 28.05.2022, 06:41 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 29498
Репутация: 0
Статус: 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
Репутация: 0
Статус: 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

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru