тусур, теория систем и системный анализ, лабораторная работа 1. Лабораторная № 1. Лабораторная работа1 По дисциплине Вычислительные машины, системы и сети Выполнил студент С. А. Пинисов направление подготовки 27. 03. 04
![]()
|
Министерство науки и высшего образования РФ Федеральное государственное бюджетное учреждение высшего образования ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра компьютерных систем в управлении и проектировании (КСУП) ОТЧЕТ Лабораторная работа№1 По дисциплине «Вычислительные машины, системы и сети» Выполнил студент: С.А. Пинисов направление подготовки 27.03.04 2023 г. Лабораторная работа № 1. Первоначальное знакомство с UNIX Цель работы: получение начальных навыков работы в среде UNIX: 1) знакомство с текстовым редактором ed; 2) применение команд shell для работы с файлами; 3) использование в командах shell метасимволов и перенаправление ввода-вывода; 4) запуск конвейеров программ; 5) применение в командах shell переменных; 6) построение командных файлов; 7) изменение прав доступа к файлам Задание1. Создать два трехуровневых поддерева каталогов и поместить в один из каталогов четыре текстовых файла, два из которых имеют в своем имени одинаковую символьную последовательность, называемую далее «словом». В работе будем использовать Ubuntu (UNIX-подобная операционная система (дистрибутив) на базе ядра Linux. Для того, чтобы создать два трехуровневых поддерева каталогов, будем использовать утилиту mkdir и флаг р (mkdir - p) (рисунок1), после исполнения команды нажимаем Enter. ![]() Рисунок1. Используем утилиту ls для вывода содержимого каталогов и информации о файлах и команду сd для навигации по каталогам (рисунок 2,3). Как видим два каталога содержат папку в папке Catalog1/folder1/folder2 и Catalog2/folder1/folder2 ![]() Рисунок 2. ![]() Рисунок 3. Для создания четырех пустых файлов введем команду touch и через пробел название и расширение файла (рисунок 4). ![]() Рисунок 4. Создать два файла с одинаковым именем и расширением удастся (рисунок 5). ![]() Рисунок 5. Задание 2. С помощью текстового редактора ed отредактировать текстовый файл. Записываем команду ed и название файла, после чего нажимаем Enter, для начала записи вводим команду "а" редактора. Далее текст, для сохранения используем команду "w" и для выхода с сохранением "q" (рисунок 6). ![]() Рисунок 6. Проверяем file1.txt, запись присутствует (рисунок 7). ![]() Рисунок 7. Задание 3. Вывести файл на экран. Выведем содержимое файла на экран с помощью команды cat - catenate (цепная связь) и флага -n - нумеровать все строки. (рисунок 8). ![]() Рисунок 8. Задание 4. Выполнить добавление текста в начало, в середину и в конец файла. Выполним добавление текста с помощью текстового редактора ed. При выполнении команды "p" редактор вернул вторую (последнюю) строку. Для добавлении строки перед текущей строкой ввели команду "i" и ввели текст "Это середина текста". Далее ставим символ "." (точка), представляющий собой команду выхода из режима добавления. Выводим первую строку, для этого перед командой "p" указываем номер строки, в нашем случае 1, записываем с ошибками на английском This is begining оf the text. Выводим четвертую строку "Привет мир!" , и с помощью команды "а" - добавление текста после текущей строки, добавляем текст в конец файла "This is end of the text.". Далее команда ".", команда "w" - запись. Программа показывает информационный вес файла 126 байт, в стандарте кодирования Unicode UTF-8. Информационный вес символов в английском алфавите 1 байт, включая пробел и Enter. В русском алфавите информационный вес символов 2 байта, пробел и Enter как и в английском 1 байт (рисунок 9). ![]() Рисунок 9. Задание 5. Вывести файл на экран. Используя текстовый редактора ed и команду "1p" выполним вывод на экран текста, после каждой выведенной строки нажимаем клавишу Enter (рисунок 10). ![]() Рисунок 10. Либо вводим номер строки с которой необходимо просмотреть текст, в нашем случае "1р" далее символ "," (запятая), затем символ "$" обозначающий последнюю строку файла и нажимаем Enter (рисунок 11). ![]() Рисунок 11. Задание 6. произвести переименование файла. Для переименовании файла используем утилиту "mv" далее старое наименование файла пробел и новое наименование файла, клавиша Enter. С помощью утилиты "ls" проверим содержимое папки folder2, действительно файл переименован в document3.txt (рисунок 12). ![]() Рисунок 12. Задание 7. Выполнить копирование файла (исходный файл и файл-копия должны располагаться в разных каталогах). Копируем файл document3.txt в Catalog2, для этого будем использовать утилиту "cp" «copy-копировать», для этого передаем ей имя файла, который необходимо копировать, далее пробел и указываем путь, Enter (рисунок 13). ![]() Рисунок 13. Проверяем место нахождение файла document3.txt, файл скопирован в указанную нами папку, исходный файл находится в прежней папке (рисунок 14). ![]() Рисунок 14. Задание 8. Поместить в любой другой каталог скрипт, имеющий два входных параметра: имя каталога и набор символов. Скрипт выполняет действия: - вывод на экран перечня файлов, «дочерних» к заданному каталогу, которые имеют в своем имени заданный набор символов; - уничтожение всех остальных файлов заданного каталога; - любые другие действия (по вашему желанию); Создадим каталог используя утилиту mkdir и назовем его Catalog3 (рисунок 15). ![]() Рисунок 15 С помощью утилиты touch создадим в Catalog3 файлы, названия зададим от A до F и от 1 до 5 с помощью фигурных скобок, проверим утилитой ls файлы содержащиеся в Catalog3, каталог содержит 11 файлов (рисунок 16). ![]() Рисунок 16. Создадим файл myskript и поместим его в каталог /home/cergey (рисунок 17). ![]() Рисунок 17. Для создания скрипта применим ранее изученные утилиты. Первая строка начинается #! (шебанг) и указывает путь к bash-интерпретатору, # обозначает комментарии (рисунок 18). ![]() Рисунок 18. Для запуска скрипта используем команду bash после чего записываем имя командного файла (myskript), командный файл запрашивает разрешение на удаление каждого файла, так как использовалась утилита rm с флагом i . (рисунок 19). Командный файл исполняется, работает корректно. ![]() Рисунок 19. Задание 9. создать свой инициализационный скрипт, выполняющий действия: - здоровается; - «переделывает» приглашения shell; - запускает вложенный скрипт, созданный в (8), задав ему в качестве параметров каталог и «слово» из (1); - любые другие действия (по вашему желанию); Для создания инициализационного скрипта .bashrc (который представляет собой файл сценария оболочки используемый в качестве файла конфигурации для конкретного пользователя) будем пользоваться утилитой сат и оператором перенаправления ввода < (рисунок 20). Для сохранения нажимаем комбинацию клавиш Ctrl+D. На основе скрипта mysrkipt, созданного в 8-ом задании, создадим командный файл skript, задав ему в качестве параметров каталог и слово из задания 1. ![]() Рисунок 20. Задание10. Выйти из UNIX, а затем войти вновь с целью демонстрации результатов выполнения инициализационного скрипта. Для выхода печатаем в командной строке exit и нажимаем Enter, перезапускаем оболочку. Появляется приветствие и выполняется сценарий командного файла. ![]() Вывод: Получены первоначальные навыки работы с операционной системой UNIX. Познакомился с текстовым редактором ed, переменными, метасимволами и способами перенаправление ввода-вывода, конвейером программ. Научился применять команды shell для работы с файлами, изменять права доступа к файлам. Изучено строение командных файлов. |