Операционные системы (В.В. Одиноков, 2005 г., 68 с.)
Контрольная работа 1.
Целью выполнения настоящей контрольной работы является ознакомление и получение практических навыков работы с наиболее простыми, но в то же время наиболее широко используемыми командами управления операционной системой UNIX.
Задание на выполнение контрольной работы № 1 состоит из трех шагов, на каждом из которых вы должны выполнить номер своего варианта, используя рассмотренные выше команды shell.
Шаг 1. Построить поддерево файловой структуры, корень которого соответствует вашему начальному каталогу. Структура этого поддерева выбирается в соответствии с номером вашего варианта. На этом рисунке прямоугольники обозначают каталоги, а кружки соответствуют текстовым файлам. Для записи текстовых файлов следует использовать команду cat.
Шаг 2. Используя поддерево, построенное на предыдущем шаге, выполнить действия над файлами, соответствующие вашему варианту.
1) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 12.
в. Переименование файла B в файл D.
г. Удаление файла C.
2) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 3.
в. Перемещение файла B в каталог 1.
г. Удаление файла C.
3) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 111.
в. Переименование файла B в файл D.
г. Удаление файла C.
4) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 3.
в. Перемещение файла B в каталог 11.
г. Удаление файла C.
5) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 22.
в. Переименование файла B в файл D.
г. Удаление файла C.
6) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 11.
в. Перемещение файла B в каталог 31.
г. Удаление файла C.
7) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 2.
в. Переименование файла B в файл D.
г. Удаление файла C.
8) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 1.
в. Перемещение файла B в каталог 111.
г. Удаление файла C.
9) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 2.
в. Переименование файла B в файл D.
г. Удаление файла C.
10) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 111.
в. Перемещение файла B в каталог 11.
г. Удаление файла C.
11) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 111.
в. Переименование файла B в файл D.
г. Удаление файла C.
12) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 111.
в. Перемещение файла B в каталог 21.
г. Удаление файла C.
13) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 21.
в. Переименование файла B в файл D.
г. Удаление файла C.
14) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 2.
в. Перемещение файла B в каталог 21.
г. Удаление файла C.
15) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 2.
в. Переименование файла B в файл D.
г. Удаление файла C.
16) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 21.
в. Перемещение файла B в каталог 1.
г. Удаление файла C.
17) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 122.
в. Переименование файла B в файл D.
г. Удаление файла C.
18) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 121.
в. Перемещение файла B в каталог 11.
г. Удаление файла C.
19) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 121.
в. Переименование файла B в файл D.
г. Удаление файла C.
20) а. Вывод на экран содержимого файла C.
б. Копирование файла A в каталог 12.
в. Перемещение файла B в каталог 11.
г. Удаление файла C.
Шаг 3. Используя поддерево файловой структуры, полученное на предыдущих шагах задания, с помощью одной составной команды shell выполнить действия, соответствующие вашему варианту.
1) Поиск в вашем поддереве файлов, имя которых начинается с буквы A. Вывести имена файлов на экран, а затем вывести на экран содержимое текстовых файлов.
2) Поиск в вашем поддереве файлов, содержащих два заданных слова, разделенных пробелом. Найденные имена записать в файл на диске, а также вывести на экран.
3) Поиск в вашем поддереве файлов, содержащих совокупность символов (в том числе пробелы), введенную с клавиатуры. Найденные имена файлов вывести на экран.
4) Уничтожение поддерева, имя корневого каталога которого вводится с клавиатуры. На экран выводится перечень уничтожаемых файлов и каталогов.
5) Поиск в вашем поддереве текстовых файлов, имена которых вводятся с клавиатуры. Содержимое этих файлов выводится на экран.
6) Поиск в поддереве, имя корневого каталога которого вводится с клавиатуры, файлов, содержащих заданную последовательность символов.
7) Вывод на экран имен каталогов, содержащихся в поддереве, имя корневого каталога которого вводится с клавиатуры. Все выводимые каталоги (кроме корня) должны начинаться с буквы, введенной с клавиатуры.
8) На экран выводится число каталогов в вашем поддереве, имя которых заканчивается на цифру, вводимую с клавиатуры.
9) Уничтожение пустых каталогов в поддереве, имя корневого каталога которого вводится с клавиатуры.
10) Уничтожение в вашем поддереве пустых каталогов, имена которых начинаются с буквы, вводимой с клавиатуры.
11) Имена текстовых файлов, находящихся в вашем поддереве и содержащих слово, введенное с клавиатуры, записываются в файл и выводятся на экран.
12) Переименование файла, исходное и результирующее имена которого вводятся с клавиатуры. Оба имени файлов выводятся на экран.
13) Перемещение файла, имя которого и требуемый родительский каталог вводятся с клавиатуры. После этого оба имени выводятся на экран.
14) Поиск в поддереве, имя которого вводится с клавиатуры, каталогов, простое имя которых начинается с заданной буквы. Найденные каталоги следует уничтожить вместе с содержимым.
15) Поиск в вашем поддереве текстовых файлов, содержащих заданную последовательность символов. Найденные файлы следует уничтожить.
16) Текстовый файл содержит имена других текстовых файлов. Используя его, вывести на экран содержимое этих текстовых файлов, вывести суммарное количество строк в них, а также суммарное число строк, содержащих заданную совокупность символов.
17) Вывести на экран содержимое текстовых файлов, находящихся в поддереве, имя корневого каталога которого вводится с клавиатуры. Ввод с клавиатуры должен предваряться приглашением.
18) На экран выводится вопрос о желании получить статистику (количество строк, слов и символов) любого текстового файла. Если ответ утвердительный (y), то выводится запрос ввести имя файла. После того, как имя файла введено с клавиатуры, статистика о нем выводится на экран.
19) На экран выводится вопрос о желании вывести содержимое любого текстового файла на экран. Если ответ утвердительный (y), то выводится запрос ввести имя файла. После того, как имя файла введено с клавиатуры, его текст выводится на экран.
20) На экран выводится вопрос о желании уничтожить произвольный файл. Если ответ утвердительный (y), то выводится запрос ввести имя файла. После того, как имя файла введено с клавиатуры, он уничтожается, а на экран выводится сообщение о завершении этой операции.
Контрольная работа 2.
Целью выполнения настоящей лабораторной работы является знакомство с основами построения командных файлов, а также изучение текстового редактора sed.
Требуется разработать скрипт, выполняющий действия, соответствующие вашему варианту. При этом обязательно наличие в скрипте вводных комментариев.
1. Во всех файлах, расположенных в заданном поддереве, произвести взаимную замену двух заданных символов. Полученные файлы переименовать, добавив в конце имени файла оба заданных символа, а также отсортировать строки файлов в лексографическом порядке (т.е. по алфавиту).
Примечание. Имя каталога – корня поддерева, а также оба заданных символа должны вводиться с командной строки в качестве параметров скрипта.
2. Во всех файлах, расположенных в заданном поддереве, произвести уничтожение строки с заданным номером, если длина этой строки превышает заданное количество слов.
Примечание. Имя каталога – корня поддерева, номер строки, а также предельная длина строки должны вводиться с командной строки в качестве параметров скрипта.
3. Каждую n-ю строку одного заданного файла дописать в качестве содержимого другого заданного файла.
Примечание. Оба имени файлов, а также число n должны вводиться с командной строки в качестве параметров скрипта.
4. В заданном файле уничтожить каждую нечетную строку.
Примечание. Имя файла вводится с командной строки в качестве параметра скрипта.
5. В заданном файле уничтожить каждую четную строку.
Примечание. Имя файла вводится с командной строки в качестве параметра скрипта.
6. Переименовать все файлы и подкаталоги, расположенные в заданном каталоге, так, что один заданный символ имени файла (подкаталога) заменяется на другой заданный символ.
Примечание. Имя каталога, а также оба заданных символа вводятся с командной строки в качестве параметров скрипта.
7. Все текстовые файлы, расположенные в заданном каталоге, должны получить заголовок, состоящий из одного заданного слова (заголовок – первая строка файла).
Примечание. Имя каталога, а также заголовок вводятся с командной строки в качестве параметров скрипта.
8. В заданном каталоге ищется текстовый файл с наименьшим количеством слов. На экран выводится содержимое данного файла с пронумерованными строками.
Примечание. Имя каталога вводится с командной строки в качестве параметра скрипта.
9. В заданном каталоге ищется текстовый файл с наибольшим количеством слов. На экран выводится содержимое данного файла с пронумерованными строками.
Примечание. Имя каталога вводится с командной строки в качестве параметра скрипта.
10. В заданном поддереве файловой структуры, во всех файлах, содержащих в своем имени заданную комбинацию символов, производится уничтожение заданного числа первых строк.
Примечание. Имя каталога, являющегося корнем поддерева, а также заданная комбинация символов и число уничтожаемых строк вводятся с командной строки в качестве параметров скрипта.
11. Каждый текстовый файл, находящийся в заданном каталоге, получает заголовок из двух слов (заголовок – первая строка файла).
Примечание. Имя каталога, а также слова заголовка вводятся с командной строки в качестве параметров скрипта.
12. На экран выводятся номера строк заданного файла, которые содержат заданную комбинацию символов.
Примечание. Имя файла, а также комбинация символов вводятся с командной строки в качестве параметров скрипта.
13. Для заданного файла производится добавление текста, введенного с клавиатуры по запросу скрипта, после строки с заданным номером.
Примечание. Имя файла, а также номер строки вводятся в качестве параметров скрипта.
14. Для заданного файла производится замена непрерывной последовательности строк файла текстом, введенным с клавиатуры по запросу скрипта.
Примечание. Имя файла, а также номера первой и последней заменяемой строк вводятся в качестве параметров скрипта.
15. В заданном файле производится перемена местами двух строк с заданными номерами.
Примечание. Имя файла и номера строк вводятся в качестве параметров скрипта. Причем номера строк вводятся в порядке возрастания.
16. В заданном файле произвести уничтожение строк с заданными номерами.
Примечание. Имя файла и номера строк вводятся в качестве параметров скрипта. Причем номера строк вводятся в порядке убывания.
17. Для заданного файла по желанию пользователя выполняется одно из действий: 1) уничтожение строки файла с заданным номером; 2) добавление строки текста, введенного с клавиатуры, в файл перед строкой с заданным номером.
Примечание. За исключением имени файла, которое вводится в качестве параметра скрипта, остальная информация вводится с клавиатуры по запросам скрипта.
18. Для каждого из заданных файлов по желанию пользователя выполняется одно из действий: 1) сортировка строк файла в лексографическом порядке; 2) замена одной последовательности символов на другую.
Примечание. Имена файлов вводятся в качестве параметров скрипта. Последовательности символов вводятся с клавиатуры по запросу скрипта.
19. Для заданных файлов выполняется замена строки с заданным номером на другую строку.
Примечание. Номер строки, новое содержимое строки, а также имена файлов вводятся в качестве параметров скрипта. Причем новая строка содержит первоначально вместо символа
«пробел» символ «_».
20. Для заданного файла по желанию пользователя производится добавление новой строки или перед строкой файла с заданным номером, или добавление после этой строки.
Примечание. Имя файла, номер строки, а также содержимое новой строки вводятся в качестве параметров скрипта. Причем новая строка содержит первоначально вместо символа «пробел» символ «~».