Главная страница
Навигация по странице:

  • Межрегиональный учебный центр переподготовки специалистов Лабораторно-практическая работа № 1 по дисциплине: Операционные системыВыполнил

  • Группа

  • Задание и выполнение: Вариант № 25

  • 6. How a you

  • Лабораторная работа 1. Практическая работа 1 по дисциплине Операционные системы Выполнил Пурескин Сергей Сергеевич Группа зб02


    Скачать 354.76 Kb.
    НазваниеПрактическая работа 1 по дисциплине Операционные системы Выполнил Пурескин Сергей Сергеевич Группа зб02
    Дата17.06.2022
    Размер354.76 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа 1.docx
    ТипПрактическая работа
    #599385


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

    Сибирский государственный университет телекоммуникаций и информатики
    Межрегиональный учебный центр переподготовки специалистов
    Лабораторно-практическая работа № 1

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

    Выполнил: Пурескин Сергей Сергеевич

    Группа: ЗБ-02

    Вариант: 25

    Проверила:

    Квиткова Ирина Геннадьевна
    Новосибирск, 2021

    Задание и выполнение:

    Вариант № 25:

    1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк вида (строка начинается с цифры порядкового номера строки):

    1. my name is …

    2. my surname is …

    3. login is …

    4. <текст произвольного содержания (не менее 2-х слов)>

    5. <текст произвольного содержания (не менее 2-х слов)>

    6. <текст произвольного содержания (не менее 2-х слов)>
    # cat > a1

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    4. Hello Worlds!

    5. Good day!


    6. How a you?

    ^C
    2. Создать файл a2 с помощью команды touch; в редакторе vi ввести в файл текст из 6-ти строк аналогичного с содержимым файла a1 вида.
    # touch a2

    # vi a2

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    4. Hello Worlds! A2

    5. Good day! A2

    6. How a you? A2

    :wq
    3. Убедиться, что файлы созданы (команда ls -l); просмотреть их содержимое (команда cat). Результат вывода команды ls –l занести в отчет.
    # ls -l

    итого 96

    -rw-rw-rw- 1 root root 72189 мая 7 2020 123.cfg

    -rw-r--r-- 1 root root 111 июн 3 19:13 a1

    -rw-r--r-- 1 root root 120 июн 3 19:20 a2

    -rwxrwxrwx 1 root root 885 июн 3 18:11 infodir.sh

    drwx------ 2 root root 4096 июл 31 2019 Mail

    lrwxrwxrwx 1 root root 39 окт 8 2020 resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

    drwxr-xr-x 12 root root 4096 ноя 8 2021 snap

    -rw-r--r-- 1 systemd-resolve systemd-resolve 731 окт 5 2020 stub-resolv.conf
    # cat a1

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    4. Hello Worlds!

    5. Good day!


    6. How a you?

    # cat a2

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    4. Hello Worlds! A2

    5. Good day! A2

    6. How a you? A2
    4. Изменить права доступа к этим файлам: владельцу все права, группе чтение и запись, остальным никаких прав доступа. Прочитать новые права доступа.
    # chmod 760 a1 a2

    # ls -l

    итого 96

    -rw-rw-rw- 1 root root 72189 мая 7 2020 123.cfg

    -rwxrw---- 1 root root 111 июн 3 19:13 a1

    -rwxrw---- 1 root root 120 июн 3 19:20 a2

    -rwxrwxrwx 1 root root 885 июн 3 18:11 infodir.sh

    drwx------ 2 root root 4096 июл 31 2019 Mail

    lrwxrwxrwx 1 root root 39 окт 8 2020 resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

    drwxr-xr-x 12 root root 4096 ноя 8 2021 snap

    -rw-r--r-- 1 systemd-resolve systemd-resolve 731 окт 5 2020 stub-resolv.conf
    5. Первые две строки файла a1 занести в файл a3. Добавить в файл a3 две последние строки файла a1. Просмотреть содержимое файла a3.
    # head -n 2 a1 >a3

    # tail -n 2 a2 >> a3

    # cat a3

    1. my name is Sergey

    2. my surname is Pureskin

    5. Good day! A2

    6. How a you? A2
    6. Отсортировать файл a2 в обратном порядке. Результат сортировки, используя опцию команды сортировки, вывести в файле a2_s.
    # sort -r a2 > a2_s

    # cat a2_s

    6. How a you? A2

    5. Good day! A2

    4. Hello Worlds! A2

    3. login is d902pss

    2. my surname is Pureskin

    1. my name is Sergey
    7. Отсортировать файл a2 по 2-му столбцу. Результат сортировки, используя опцию команды сортировки, вывести в файле a2_s2. Убедиться, что файлы a2_s и a2_s2 созданы; просмотреть их содержимое.
    # sort -k2 a2 > a2_s2

    # cat a2_s2

    5. Good day! A2

    4. Hello Worlds! A2

    6. How a you? A2

    3. login is d902pss

    1. my name is Sergey

    2. my surname is Pureskin
    8. Создать файл mix, содержащий 1-ю и 2-ю строки файла a2, 3-ю строку файла а1, 4 и 5-ю строки файла а2_s2.
    # head -n 2 a2 > mix

    # head -n 3 a1 | tail -n 1 >> mix

    # head -n 5 a2_s2 | tail -n 2 >> mix

    # cat mix

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    3. login is d902pss

    1. my name is Sergey
    9. С помощью команды grep найти в файлах домашней директории строки, содержащие цифру “3”. Результат выполнения команды занести в файл a_g.
    # grep '3'

    /* >a_g

    # cat a_g

    /root/a1:3. login is d902pss

    /root/a2:3. login is d902pss

    /root/a2_s:3. login is d902pss

    /root/a2_s2:3. login is d902pss

    /root/as_s:3. login is d902pss

    /root/infodir.sh:echo $0 $1 $2 $3

    /root/infodir.sh: 3)

    /root/infodir.sh: echo Выбрали 3 - Число символических ссылок в заданном каталоге:

    /root/infodir.sh: echo 'Формат команды: .\infodir.sh (1,2,3) dir'

    /root/mix:3. login is d902pss

    /root/mix:3. login is d902pss

    /root/resolv.conf:nameserver 127.0.0.53

    /root/stub-resolv.conf:nameserver 127.0.0.53

    10. С помощью команды cut выделить в файле a2 первый столбец.
    # cut -c 1-2 a2

    Или

    # cut -d ' ' -f 1 a2
    11. С помощью команды cut выделить в файле a_g имена файлов, отделив их от строки, содержащей цифру “3”.
    Исправил, не понял сразу условие


    Старое решение:

    # cut -d '3' -f 1 a_g

    Двоичный файл /root/12

    /root/a1:

    /root/a2:

    /root/a2_s:

    /root/a2_s2:

    /root/as_s:

    /root/infodir.sh:echo $0 $1 $2 $

    /root/infodir.sh:

    /root/infodir.sh: echo Выбрали

    /root/infodir.sh: echo 'Формат команды: .\infodir.sh (1,2,

    /root/mix:

    /root/mix:

    /root/resolv.conf:nameserver 127.0.0.5

    /root/stub-resolv.conf:nameserver 127.0.0.5
    12. Создать в домашней директории каталоги с именем D1 и D1_1.
    # mkdir D1 D1_1
    13. Перенести в директорию D1 файл a2; скопировать в директорию D1 файл a3 под именем a3d1; скопировать в директорию D1_1 файл a3 под именем a3d1_1. Проверить наличие в директориях D1 и D1_1 указанных файлов.
    # mv a2 D1/

    # cp a3 D1/a3d1

    # cp a3 D1_1/a3d1_1

    # ls D1

    a2 a3d1

    # ls D1_1

    a3d1_1
    14. Перейти из домашней директории в директорию D1. Убедиться, что текущей директорией стала директория D1. Создать в текущей директории D1 жесткую связь с файлом a1, находящимся в домашней директории (создать новое имя существующему файлу), с именем a1_h.
    # cd D1

    # pwd

    /root/D1

    ls -li

    итого 12

    22284488 -rwxrw---- 2 root root 111 июн 3 19:13 a1_h

    22284528 -rwxrw---- 1 root root 120 июн 3 19:35 a2

    22284534 -rw-r--r-- 1 root root 80 июн 7 09:31 a3d1
    15. Создать в текущей директории D1 файл символической связи с файлом a1, находящимся в домашней директории, с именем a1_sym.
    # ln -s /a1 a1_sym

    # ls -li

    итого 12

    22284488 -rwxrw---- 2 root root 111 июн 3 19:13 a1_h

    22284536 lrwxrwxrwx 1 root root 8 июн 7 17:44 a1_sym -> /root/a1

    22284528 -rwxrw---- 1 root root 120 июн 3 19:35 a2

    22284534 -rw-r--r-- 1 root root 80 июн 7 09:31 a3d1
    16. Создать в директории D1 каталог с именем D2. Перенести в директорию D2 файл a2; скопировать в директорию D2 файл a3d1 под именем a3d2. Проверить наличие в директории D2 указанных файлов.
    # mkdir D2

    # mv a2 D2

    # cp a3d1 D2/a3d2

    # ls -li D2

    итого 8

    22284528 -rwxrw---- 1 root root 120 июн 3 19:35 a2

    22284537 -rw-r--r-- 1 root root 80 июн 7 17:46 a3d2


    1. Установить директорию D2 в режим “темной” директории (нет права на чтение, но есть право на исполнение);


    # chmod 100 D2

    # ls -li

    итого 12

    22284488 -rwxrw---- 2 root root 111 июн 3 19:13 a1_h

    22284536 lrwxrwxrwx 1 root root 8 июн 7 17:44 a1_sym -> /root/a1

    22284534 -rw-r--r-- 1 root root 80 июн 7 09:31 a3d1

    22298688 d--x------ 2 root root 4096 июн 7 17:46 D2


    1. Произвести попытку прочитать содержимое директории D2;


    # ls -li D2

    итого 8

    22284528 -rwxrw---- 1 root root 120 июн 3 19:35 a2

    22284537 -rw-r--r-- 1 root root 80 июн 7 17:46 a3d2
    Думаю, что у пользователя root особые права


    1. Прочитать содержимое файлов “темной” директории.


    # cat D2/a2

    1. my name is Sergey

    2. my surname is Pureskin

    3. login is d902pss

    4. Hello Worlds! A2

    5. Good day! A2

    6. How a you? A2

    17. Перейти в директорию /home. Убедиться, что текущей директорией стала директория /home. Прочитать рекурсивно содержимое текущей директории. Исключить вывод потока ошибок на терминал.
    # cd /home/

    # pwd

    /home

    # ls -R -li 2>null


    18. Перейти в домашнюю директорию. Убедиться, что она стала текущей директорией. С помощью команды du вывести размеры каталогов. Исключить вывод потока ошибок на терминал.
    # cd

    # pwd

    # du 2>null



    19. Используя команды grep, cut и sort, получить список имѐн тех файлов в каталоге /etc/, в тексте которых содержится запись ip-адреса. Список имен файлов не должен иметь повторений. Результат занести в файл g_ip.
    # grep -Eo "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" /etc/* 2>null | cut -d ':' -f 1 | uniq | sort



    Исправил запрос:



    20. Получить рекурсивно список файлов домашней директории, в имени которых есть буква «а», отсортированный без повторов. Результат занести в файл spisok_a каталога D1_1.
    # find -name "*a*" 2>null | uniq | sort >/D1_1/spisok_a


    Список получился большой:



    написать администратору сайта