Знакомстов сс ОС UNIX. ЛР №1. Лабораторная работа по дисциплине Вычислительные машины, системы и сети
Скачать 28.59 Kb.
|
|
| Выполнил: Студент гр._ ________ (номер группы) _______________ /_ ________/ (подпись) И. О. Фамилия «___»__________20__г. (дата) |
| Проверил: ______________________________ (должность, ученая степень, звание) ______________ /____________________/ (подпись) И. О. Фамилия «____»_______________20____г. (дата) |
.
Задание
Для успешной сдачи работы требуется выполнить наизусть следующие операции:
создать два трехуровневых поддерева каталогов и поместить в один из каталогов четыре текстовых файла, два из которых имеют в своем имени одинаковую символьную последовательность, называемую далее «словом»;
с помощью ed отредактировать текстовый файл;
вывести файл на экран;
выполнить добавление текста в начало, в середину и в конец файла;
вывести файл на экран;
произвести переименование файла;
выполнить копирование файла (исходный файл и файл-копия должны располагаться в разных каталогах);
поместить в любой другой каталог скрипт, имеющий два входных параметра: имя каталога и набор символов. Скрипт выполняет действия:
вывод на экран перечня файлов, «дочерних» к заданному каталогу, которые имеют в своем имени заданный набор символов;
уничтожение всех остальных файлов заданного каталога;
любые другие действия (по вашему желанию);
создать свой инициализационный скрипт, выполняющий действия:
здоровается;
«переделывает» приглашения shell;
запускает вложенный скрипт, созданный в (8), задав ему в качестве параметров каталог и «слово» из (1);
любые другие действия (по вашему желанию);
выйти из UNIX, а затем войти вновь с целью демонстрации результатов выполнения инициализационного скрипта.
Примечание 1. При выполнении задания разрешается использовать те средства shell, которые рассмотрены в данной работе. В частности нельзя применять управляющие операторы (рассматриваются в следующей работе).
Примечание 2. Для избирательного удаления файлов в (8) рекомендуется использовать команду rm с флагом -i, предварительно установив права доступа к файлам. При этом для обеспечения автоматического выполнения rm ее стандартный ввод должен быть переключен на вспомогательный файл, содержащий любой символ кроме «y».
Решение
Создаём два поддерева каталогов в текущем каталоге:
$ 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
Отредактируем файл 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, $p
Добавим текст в начало файла:
1p
i
Hello!
.
Теперь в середину файла:
3p
a
World
.
И в конце файла:
$p
a
Bye!
.
Выведем весь файл на экран:
1,$p
Переименуем файл file1 в file5:
$ mv file1 file5
Скопируем file0 из каталога b0/b1 в каталог a0/a1/a2:
$ cp file0 /a0/a1/a2
Создадим в каталоге 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 ‘
Создаём инициализационный скрипт:
$ cat >/.profile
#Приветствуем
echo Hello!
#Меняем приглашение на $$
PS1=$$
#Запуск скрипта из предыдущей задачи
{$HOME}/a0/script {$HOME}/b0/b1 file
Литература
Коцубинский В.П. Операционные системы: учебно-методическое пособие./ Коцубинский В.П., Изюмов А.А. – Томск: ТУСУР, 2016. – 244 с