Введение в UNIX. Лекции

Автор работы: Пользователь скрыл имя, 29 Декабря 2011 в 20:20, курс лекций

Краткое описание

Способы организации файловой системы, списки команд и т.д. ОС Unix

Вложенные файлы: 1 файл

практика.doc

— 387.00 Кб (Скачать файл)

Отправьте письмо преподавателю:

%mail m2@vvsu.ru

Subject: hello 

Hello, this is Ivan Petrov

.

 

Завершите сеанс работы выходом из X-Windows по кнопке Exit.

Введение  в Unix 
Лабораторный практикум

6. Программирование  в шелле

Шелл (shell) - язык командного интерпретатора /bin/sh. Описание языка и примеры содержатся в документе справочника man. Описание встроенной в шелл команды test находится в отдельном файле.

Войдите в систему в  среде X-Windows. Запустите  окно терминала. Выполните  следующие задания. О выполнении каждого  задания доложите преподавателю.

1. Системные  события регистрируются в файлах: /var/log/syslog- общий файл, /var/log/authlog - события, связанные с аутентификацией, /var/log/maillog - лог почтовой системы.

Создать скрипт checklog, который выводил бы последние N строк этих файлов: сначала syslog, потом authlog, и наконец maillog. Формат командной строки:

%checklog       # вывести по 20 последних строк из каждого файла

%checklog N     # из файла syslog вывести N последних строк, из остальных ничего не выводить

%checklog N M   # вывести N последних строк из syslog, M - из authlog, из maillog ничего не выводить

%checklog N M K # вывести N последних строк из syslog, M - из authlog, K - из maillog. N и (или) M могут быть нулями.

Весь вывод  пропустить через пейджер.

2. Написать скрипт filter, имеющий синтаксис запуска: 

%filter [-1] [configfile]

Скрипт предназначен для расщепления (фильтрации) потока данных: строки, в которых обнаружены ключевые фразы, отправляются в один поток вывода, прочие строки - в другой.

Дан конфигурационный файл configfile (если имя файла не указано в командной строке, то по умолчанию берется ./filter.cf), содержащий текстовые строки с регулярными выражениями.

Скрипт читает текстовые строки со стандартного ввода. В каждой строке S, прочитанной со стандартного ввода, ищутся поочередно все регулярные выражения L, находящиеся  в файле configfile. В каждом случае обнаружения очередного регулярного выражения L в строке S, строка S выводится в стандартный вывод.

Если первым параметром командной строки при  запуске скрипта указан ключ "-1", то строка S, при обнаружении в  ней одного или более регулярных выражений, перечисленных в конфигурационном файле, выводится в стандартный вывод только один раз.

В случае, если ни одно из регулярных выражений L в строке S не обнаружено, строка S выводится  в стандартную ошибку.

Далее со стандартного ввода читается очередная строка S.

Пример:  
конфигурационный файл содержит:

abc

end$

входной файл содержит:

1 abc end

2 abc fgh abc

3 is this the end?

стандартный вывод  при запуске без ключа -1:

1 abc end

1 abc end

2 abc fgh abc

стандартный вывод  при запуске c ключом -1:

1 abc end

2 abc fgh abc

стандартная ошибка в обоих случаях:

3 is this the end?

Информация о работе Введение в UNIX. Лекции