Файл: Лабораторная работа по дисциплине Вычислительные машины, системы и сети Задание.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 85

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Министерство науки и высшего образования Российской Федерации

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

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

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра компьютерных систем в управлении и проектировании

(КСУП)


ПЕРВОНАЧАЛЬНОЕ ЗНАКОМСТВО С UNIX

Лабораторная работа по дисциплине

«Вычислительные машины, системы и сети»


Задание
Для успешной сдачи работы требуется выполнить наизусть следующие операции:

  1. создать два трехуровневых поддерева каталогов и поместить в один из каталогов четыре текстовых файла, два из которых имеют в своем имени одинаковую символьную последовательность, называемую далее «словом»;

  2. с помощью ed отредактировать текстовый файл;

  3. вывести файл на экран;

  4. выполнить добавление текста в начало, в середину и в конец файла;

  5. вывести файл на экран;

  6. произвести переименование файла;

  7. выполнить копирование файла (исходный файл и файл-копия должны располагаться в разных каталогах);

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

  • вывод на экран перечня файлов, «дочерних» к заданному каталогу, которые имеют в своем имени заданный набор символов;

  • уничтожение всех остальных файлов заданного каталога;

  • любые другие действия (по вашему желанию);


  • создать свой инициализационный скрипт, выполняющий действия:

    • здоровается;

    • «переделывает» приглашения shell;

    • запускает вложенный скрипт, созданный в (8), задав ему в качестве параметров каталог и «слово» из (1);

    • любые другие действия (по вашему желанию);

  • выйти из UNIX, а затем войти вновь с целью демонстрации результатов выполнения инициализационного скрипта.


    Примечание 1. При выполнении задания разрешается использовать те средства shell, которые рассмотрены в данной работе. В частности нельзя применять управляющие операторы (рассматриваются в следующей работе).

    Примечание 2. Для избирательного удаления файлов в (8) рекомендуется использовать команду rm с флагом -i, предварительно установив права доступа к файлам. При этом для обеспечения автоматического выполнения rm ее стандартный ввод должен быть переключен на вспомогательный файл, содержащий любой символ кроме «y».

    Решение


    1. Создаём два поддерева каталогов в текущем каталоге:


    $ mkdir a0 b0

    $ mkdir a0/a1 b0/b1

    $ mkdir a0/a1/a2 b0/b1/b2
    Создаём 4 пустых текстовых файла в каталоге b1:
    $ сd b0/b1

    $ cat > file0



    $ cat > abc



    $ cat > def



    $ cat > file1




    1. Отредактируем файл file0 с помощью текстового редактора ed:


    $ ed file0

    a

    This is a test to see if I am

    entering text in the file “file0”.

    Once I have completed it I shall find

    that I have created 4 new lines of data

    .


    1. Выведем текст файла на эран:


    1, $p


    1. Добавим текст в начало файла:


    1p

    i

    Hello!

    .
    Теперь в середину файла:
    3p

    a

    World

    .
    И в конце файла:

    $p

    a

    Bye!

    .


    1. Выведем весь файл на экран:


    1,$p


    1. Переименуем файл file1 в file5:


    $ mv file1 file5


    1. Скопируем file0 из каталога b0/b1 в каталог a0/a1/a2:


    $ cp file0 /a0/a1/a2


    1. Создадим в каталоге a0 необходимый скрипт:


    $ cd /a0

    $ cat >script

    # Вывод на экран перечня файлов, «дочерних» к заданному каталогу, которые #имеют в своем имени заданный набор символов

    #параметр 1 – имя каталога

    #параметр 2 – набор символов

    find $1 -type f -name $2

    #Уничтожение всех остальных файлов заданного каталога

    chmod a+w

    rm –i ‘find $1 \! –name $2 –a –type f ‘




    1. Создаём инициализационный скрипт:


    $ cat >/.profile

    #Приветствуем

    echo Hello!

    #Меняем приглашение на $$

    PS1=$$

    #Запуск скрипта из предыдущей задачи

    {$HOME}/a0/script {$HOME}/b0/b1 file


    Литература


    1. Коцубинский В.П. Операционные системы: учебно-методическое пособие./ Коцубинский В.П., Изюмов А.А. – Томск: ТУСУР, 2016. – 244 с