Главная страница

отчёт Л. отчёт Л.р 2. Управляющие операторы командного языка


Скачать 420.39 Kb.
НазваниеУправляющие операторы командного языка
Анкоротчёт Л.р 2
Дата18.08.2022
Размер420.39 Kb.
Формат файлаdocx
Имя файлаотчёт Л.р 2.docx
ТипЛабораторная работа
#648093


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

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

высшего образования

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

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

Лабораторная работа № 2

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

на тему «Управляющие операторы командного языка»


Выполнил студент:

специальности 27.03.04

Жуков Сергей Андреевич

2022 год

Содержание

Задание 3

Список использованных источников 7


Задание


Требуется разработать программу на языке shell (без использования команды find), выполняющую поиск в заданном поддереве файловой структуры всех файлов, имена которых отвечают заданному шаблону. Результатом работы программы является перечень имен искомых файлов на экране.

Вложенный скрипт выполняет поиск в заданном каталоге искомых файлов, а для каждого подкаталога вызывает точно такой же скрипт. (При выполнении любого скрипта запускается новый экземпляр shell, поэтому рекурсивное выполнение скриптов не приводит к каким-либо трудностям.)

Примечание. Программа состоит из двух скриптов. Главный скрипт выполняет вывод на экран приглашения ввести с клавиатуры имя-путь начального каталога и шаблон поиска. Далее он выполняет ввод этих данных с клавиатуры и выводит на экран перечень искомых файлов в начальном каталоге поиска (если они там есть). Затем он вызывает для каждого подкаталога вложенный скрипт, передав ему два входных параметра: 1) относительное имя подкаталога; 2) шаблон поиска.

Решение

Содержимое обоих файлов программы выложим в соответствующих листингах.

Листинг 1

Содержимое файла lr2

globmatch () {

case "$1" in

$2)

return 0;

;;

*)

return 1;

;;

esac

}
echo "Enter directory to search in:"

read Dir

echo "Enter pattern to search for:"

read Pat
for File in $Dir/*; do

if [ -d $File ]; then

# echo "$File: directory"

# recurse_into_directory

sh lr2_p2 $File $Pat

elif globmatch "$File" "*$Pat*"; then

echo "Found match: $File"

else

:

# echo "$File: file not following our pattern"

fi

done
Листинг 2

Содержимое файла lr2_p2

globmatch () {

case "$1" in

$2)

return 0;

;;

*)

return 1;

;;

esac

}
#echo "Enter directory to search in:"

#read Dir

#echo "Enter pattern to search for:"

#read Pat
for File in $1/*; do

if [ -d $File ]; then

# echo "$File: directory"

# recurse_into_directory

sh lr2_p2 $File $Pat

elif globmatch "$File" "*$2*"; then

echo "Found match: $File"

else

:

# echo "$File: file not following our pattern"

fi

done

Результат работы программы изобразим на рисунке 1.



Рис. 1 Результат работы программы

Список использованных источников


1. Таненбаум Э. С. Современные операционные системы / Э. С. Таненбаум. – 3-е изд. – СПб. : Питер, 2010. – 1040 с.

2. Одиноков В. В. Операционные системы / В. В. Одиноков, В. П. Коцубинский. – Томск : ТУСУР, 2006. – 342 с.

3. Одиноков В. В. Операционные системы и сети / В. В. Одиноков, В. П. Коцубинский. – Томск : ТУСУР, 2008. – 395 с.

4. Дунаев С. UNIX SYSTEM V. Releas 4.2 : Общее руководство / С. Дунаев. – М. : ДИАЛОГ-МИФИ, 1995. – 287 с.

5. Рейчард К., Фостер-Джонсон Э. UNIX : справочник / К. Рейчард, Э. Фостер-Джонсон. – СПб. : Питер, 2000. – 384 с.

6. Робачевский А. Операционная система UNIX / А. Робачевский. – СПб. : БХВ – Санкт-Петербург, 1999. – 528 с.

7. Соловьев А. А. Программирование на shell / А. А. Соловьев. – М. : Финансы и статистика, 1999. – 318 с.

8. Столлингс В. Операционные системы. Внутреннее устройство и принципы проектирования / В. Столлингс. – М. : Вильямс, 2002. – 848 с.

9. Олифер В. Г. Сетевые операционные системы / В. Г. Олифер, Н. А. Олифер. – СПб. : Питер, 2001. – 544 с.

10. PuTTY Download Page [Электронный ресурс]. – Режим доступа: http://www.chiark.greenend.org.uk/sgtatham/putty/download.html (дата обращения: 23.02.2017).

11. Установка Ubuntu Linux : инструкция для пользователя Windows [Электронный ресурс]. – Режим доступа: http://help.ubuntu.ru/ wiki/ubuntu_install (дата обращения: 23.02.2017).


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