Лабораторная работа №14 / Лаба 1 по ОС
.docМИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА МОЭВМ
ОТЧЕТ
ПО ЛАБОРАТОРНОЙ РАБОТЕ №1
«Язык командного интерпретатора bash»
по дисциплине
«Операционные системы»
ПРЕПОДАВАТЕЛЬ: АЛЕКСЕЕВ А.Н.
ВЫПОЛНИЛА СТ. ГР. 3351 ФКТИ: БАХВАЛОВА Ю.С.
САНКТ-ПЕТЕРБУРГ
2005
1. Постановка задачи
Написать на языке командного интерпретатора bash скрипт выполняющий следующие: вывод всех типов файлов имеющихся в заданной директории. Все типы файлов должны быть различными, повторяющиеся игнорируются.
2. Используемые утилиты
Программа написана в текстовом редакторе vim. Для решения поставленной задачи используются следующие утилиты:
-
find –находит все файлы в заданной директории.
-
file с ключом –f – определяет типы всех файлов, найденных с помощью команды find.
-
sort с ключами –u – для игнорирования повторяющихся строк, -t: - задается ключ разделения полей, +1.0b – сортировка производится по второму полю, начиная с первого символа, пробелы игнорируются.
В качестве входных данных используется полное имя директории, типы файлов которой мы хотим вывести.
3. Текст программы
echo
echo ***Laboratory work***
echo student of 3351 Bahvalova J.
echo
echo Enter full name of directory:
read name
echo
find $name>fil
file -f fil>f1
sort -u -t: +1.0b f1
rm f1
rm fil
echo
4. Выводы
Программа решает поставленную задачу и выводит на экран все типы файлов в заданной директории, игнорируя повторные. Она реализована утилитами языка, без использования циклов и условных операторов. Использует два файла для хранения промежуточных данных, которые удаляются после завершения программы.