48556

ОСНОВЫ РАБОТЫ В СРЕДЕ ОПЕРАЦИОННОЙ СИСТЕМЫ UNIX

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

Информатика, кибернетика и программирование

Написать скрипт на языке shell, выполняющий периодический поиск и уничтожение файлов и пустых каталогов с определенным именем (имя файла, каталоги поиска и период поиска должны являться параметрами скрипта).

Русский

2014-07-12

33.68 KB

4 чел.

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

Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

Кафедра «Информационная безопасность компьютерных систем»

ОТЧЕТ

по лабораторной работе №1

«ОСНОВЫ РАБОТЫ В СРЕДЕ ОПЕРАЦИОННОЙ СИСТЕМЫ UNIX»

по курсу «Операционные системы»

Выполнил

студент гр. 2088/4    А.А.Чернышев

                           <подпись>

Руководитель     А.С. Коноплев

                           <подпись>

Санкт-Петербург

2011

  1.  Формулировка задания

Цель работы — изучение среды операционной системы (ОС) UNIX, возможностей программирования командного интерпретатора SHELL, а также принципов работы с неинтерактивным текстовым редактором SED.

2. Использованные теоретические сведения

Материалы из методического пособия 01.pdf.

3. Результаты работы

3.1. Выполнение индивидуального задания

1) Написать скрипт на языке shell, выполняющий периодический поиск и уничтожение файлов и пустых каталогов с определенным именем (имя файла, каталоги поиска и период поиска должны являться параметрами скрипта).

#!/bin/bash

echo "Script find and delete files and empty folders with certain name in certain period."

rdir=$1

name=$2

time=$3

while [ -z $rdir ]

do

echo 1st

read rdir

done

while [ -z $name ]

do

echo 2nd

read name

done

while [ -z $time ]

do

echo 3rd

read time

done

OPTIONS="Yes Exit"

echo Remove files $name "in" $rdir every $time s?

select opt in $OPTIONS; do

if [ "$opt" = "Exit" ]; then

echo Exited

exit

elif [ "$opt" = "Yes" ]; then

cd $rdir

while [ true ]; do

for i in  $name;

do

if test -d $i

then rmdir $i

elif test -f $i

then rm $i

fi

done

sleep $time

done

else

clear

echo Incorrect change

fi

done

2) Написать скрипт на языке shell, выполняющий в текущем каталоге переименование всех файлов с именами “ftpd???.log” в файлы с именами “ftp???.log” (три произвольных символа в имени файла перед расширением “.log” должны сохраняться).

if [ $# -ne 1 ]; then

echo Usage: au.sh [ LOGFILE ]

exit 1

fi

days=$(sed 's/[\t].*//' $1 | sort | uniq)

for a in $days; do

echo \\n$a:\\n

sed -n '/'$a'/p' $1

done

echo \\nNumber\\tUsers\\tOperations\\n

sed 's/^[^\t]*[\t][^\t]*[\t]//g;s/[\t].*$//' $1 | sort | uniq -c

echo

sed 's/^[^\t]*[\t][^\t]*[\t]//g;s/[\t][//][^\t]*//' $1 | sort | uniq -c

echo \\nNumber\\tOperations\\n

sed 's/^[^\t]*[\t][^\t]*[\t][^\t]*[\t]//g;s/[\t][^\t]*//' $1 | sort | uniq -c

echo

echo Day of events you want to delete?

read day

echo

sed '/'$day'/d' $1

3) Разработать shell скрипт, использующий sed для анализа готового файла журнала аудита (формат файла приведен в примере)

Скрипт должен выполнять следующие действия:

  1.  сгруппировывать события по дате;
  2.  выводить статистику событий в журнале, а именно:
  3.  количество событий от разных пользователей
  4.  количество событий в зависимости от типа события
  5.  количество событий по типу read;
  6.  удалять строки, содержащие определенную дату события, которая задается переменной в скрипте.

if [ $# -ne 1 ]; then

echo Usage: au.sh [ LOGFILE ]

exit 1

fi

days=$(sed 's/[\t].*//' $1 | sort | uniq)

for a in $days; do

echo \\n$a:\\n

sed -n '/'$a'/p' $1

done

echo \\nNumber\\tUsers\\tOperations\\n

sed 's/^[^\t]*[\t][^\t]*[\t]//g;s/[\t].*$//' $1 | sort | uniq -c

echo

sed 's/^[^\t]*[\t][^\t]*[\t]//g;s/[\t][//][^\t]*//' $1 | sort | uniq -c

echo \\nNumber\\tOperations\\n

sed 's/^[^\t]*[\t][^\t]*[\t][^\t]*[\t]//g;s/[\t][^\t]*//' $1 | sort | uniq -c

echo

echo Day of events you want to delete?

read day

echo

sed '/'$day'/d' $1

4) Используя редактор SED и скриптовый язык SHELL, разработать программу, которая осуществляет просмотр текущего каталога и выводит на экран его содержимое группами в порядке возрастания числа ссылок на файлы (в том числе, имена каталогов). Группа представляет собой объединение файлов с одинаковым числом ссылок на них.

ls -g | sed -n '/[^ ]*[ ]\([^ ]*\)/s//\1/p' | sort -n

echo

3.2. Ответы на контрольные вопросы

Что такое процесс и что такое файл?

Процессы являют собой динамическую сторону системы, это субъекты; а файлы - статическую, это объекты действия процессов. Процесс определяется как “программа в стадии исполнения”. Одна программа (как правило, с различными данными) может выполняться в разных процессах, с другой стороны для исполнения одной программы может потребоваться несколько процессов. Некоторые процессы (демоны) существуют в системе постоянно, другие уничтожаются после выполнения всех необходимых им операций. Почти весь интерфейс взаимодействия процессов с ОС и друг с другом выглядит как запись/чтение файлов.

Будет ли включена в исполняемый файл отладочная информация, если команды для создания объектных файлов из файлов на языке С не были явно определены?

Да, будет.

Как осуществить установку контрольных точек при отладке программ? 

Установка контрольной точки осуществляется посредством команды break. Например:

(gdb) break main.

4. Выводы

Shell – достаточно мощный командный интерпретатор, позволяющий писать простые скрипты для выполнения определённых заданий. Редактор sed позволяет значительно расширить возможности для обработки файлов в shell-скриптах путём использования регулярных выражений и достаточно широкого выбора команд редактирования.


 

А также другие работы, которые могут Вас заинтересовать

75522. Трехуровневая модель СУБД предложенная организацией ANSI 114.5 KB
  Трехуровневая модель СУБД предложенная организацией NSI Система управления базами данных СУБД совокупность языковых и программных средств предназначенных для создания ведения и совместного использования БД многими пользователями. Трехуровневая модель системы управления базой данных предложенная АN5I Уровень внешних моделей самый верхний уровень где каждая модель имеет свое видение данных. Концептуальный уровень центральное управляющее звено здесь база данных представлена в наиболее общем виде который объединяет данные...
75523. ИС Project Expert, назначение и основные принципы работы 27 KB
  ИС Project Expert назначение и основные принципы работы В своей деятельности руководитель предприятия постоянно сталкивается с необходимостью определения текущего и будущего положения предприятия на рынке подготовки плана развития оценки возможных альтернатив анализа эффективности принимаемых решений. Процесс планирования развития предприятия в условиях рынка требует применения современных методик и инструментов снижающих временные затраты. В зарубежной литературе имитационные модели описывающие деятельность предприятия в условиях рынка...
75524. Концептуальная модель ИС 1С: Предприятие 23 KB
  Концептуальная модель ИС 1С: Предприятие В основе ИС оперативного анализа данных лежит многомерное концептуальное представление суть которого в выделении из общего объёма информации собственно анализируемых данных фактов и вспомогательных данных измерений. Сюда относятся способы построения структур данных типы связей между данными принципы манипулирования ими формы описания бизнеслогики способы связи данных с интерфейсными объектами разделение функциональности по уровням системы и многое другое. Вся разработка ведется в рамках одной...
75525. Процесс взаимодействия пользователя, СУБД и ОС при обработке запроса на получение данных 32 KB
  Процесс взаимодействия пользователя СУБД и ОС при обработке запроса на получение данных Следующий рисунок иллюстрирует взаимодействие пользователя СУБД и ОС при работке запроса на получение данных. Схема прохождения запроса к БД Пользователь посылает СУБД запрос на получение данных из БД. В случае запрета на доступ к данным СУБД сообщает пользователю об этом стрелка 12 и прекращает дальнейший процесс обработки данных в противном случае СУБД определяет часть концептуальной модели которая затрагивается запросом пользователя стрелка...
75526. Классификация и краткая характеристика моделей данных 172 KB
  Классификация и краткая характеристика моделей данных Одними из основополагающих в концепции баз данных являются обобщенные категории данные и модель данных. Понятие данные в концепции баз данных это набор конкретных значений параметров характеризующих объект условие ситуацию или любые другие факторы. Примеры данных: Петров Николай Степанович 30 и т. Поэтому центральным понятием в области баз данных является понятие модели.
75527. Последовательность действий при разработке проекта в ИС Project Expert 25 KB
  Последовательность действий при разработке проекта в ИС Project Expert Раздел Проект состоит из шести модулей. В этом диалоге отображается информация введенная присоздании проекта в диалоге Новый проект . Информация введенная в диалоге Список продуктов будет использована программой в модулях раздела Операционный план при планировании стратегии производства и сбыта сформированного перечня продуктов услуг проекта а также в модуле Стартовый баланс раздела Компания при описании активов и пассивов действующего предприятия. Текстовое...
75528. Основные требования к организации и формированию БД 26 KB
  Основные требования к организации и формированию БД База данных БД именованная совокупность данных отражающая состояние объектов и их отношений в рассматриваемой предметной области. К таким требованиям можно отнести...
75529. Хозяйственные операции и их регистрация в системе 1С 21 KB
  Ведение финансово-хозяйственных операций неразрывно связан с регистрацией первичных документов и формированию на их основ бухгалтерских проводок. Документы одного вида группируются в журнал. Кроме обычных журналов объединяющих все документы определенного вида видов существует общий журнал в который попадет все документы. Документ может находиться в двух состояниях не проведен и проведен.
75530. Характеристика и принципы построения сетевых (распределенных) БД 35.5 KB
  Характеристика и принципы построения сетевых распределенных БД Под распределенными базами данных РБД понимаются БД применяемые в вычислительной компьютерной сети. По типологии РБД делятся на: РБД централизованного хранения РБД распределенного хранения. При централизованном хранении вся РБД хранится на одном компьютере сервере а программы с остальных компьютеров клиентов обращаются к нему. Проектирование структуры такой РБД ничем не отличается от проектирования структуры обычных БД.