Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
12.02.2015
Размер:
103.42 Кб
Скачать

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

Саратовский государственный технический университет

Работа с пакетными файлами в среде qnx

Методические указания к лабораторной работе

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

для студентов специальности 220200

дневной формы обучения

Одобрено

редакционно-издательским советом

Саратовского государственного

технического университета

Саратов 2010

РАБОТА С ПАКЕТНЫМИ ФАЙЛАМИ

В СРЕДЕ QNX

Методические указания к лабораторной работе

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

Составили:

ПЕТРОВ Дмитрий Юрьевич

МАКСИМОВА Наталия Николаевна

БАРЫШНИКОВА Елена Сергеевна

Рецензент А.Ф. Резчиков

Редактор О.А. Панина

Лицензия ИД № 06268 от 14.11.01

Подписано в печать 27.10.10 Формат 60х84 1/16

Бум. тип.

Усл. печ. л. 0,93 (1,0)

Уч.- изд. л. 0,9

Тираж 100 экз.

Заказ

Бесплатно

Саратовский государственный технический университет

410054 г. Саратов, ул. Политехническая, 77

Введение

В методических указаниях рассматриваются структура пакетных файлов, методика создания этих файлов.

Методические указания содержат описание интерпретатора команд, структуры пакетных файлов, описание функций, используемых в командных файлах, примеры решений учебной задачи, задание для выполнения лабораторной работы, требования к оформлению отчета по лабораторной работе, а также список литературы, необходимой для выполнения данной лабораторной работы.

Методические указания предназначены для студентов специальности 220200, а также могут быть использованы студентами других специальностей, связанных с разработкой системных программ.

Цель работы: создание пакетных файлов, автоматизирование выполнение нескольких заданий, оптимизация и повышение надежности функционирования системы.

Интерпретаторы команд и пакетные файлы в qnx

Командных интерпретаторов существует несколько. В QNX стандартным считается интерпретатор Korn Shell (ksh). Хотя, вы можете использовать и другие, такие как C-Shell (csh) или Bourn Vgain Shell (bash). Для систем с ограниченными ресурсами можно использовать Embedded Shell (esh) или Fat Embedded Shell (fesh).

Если регистрация пользователя в системе была выполнена с помощью командно-строковой утилиты login, то программа регистрации запустила входной Shell. Она определяет какой командный интерпретатор запускать на основе информации записаной в базе данных пользователей. По умолчанию в систем есть только один пользователь "root" и его интерпретатор — ksh.

Пользователей, привыкших работать в Windows, обычно не вдохновляет работа в командной строке. Командная строка в UNIX-подобных системах — весьма мощное средство управления системой. Некоторые наиболее используемые команды приведены в табл. 1.

Большинство стандартных QNX-утилит содержат краткую информацию об аргументах запуска утилиты. Для просмотра этой информации существует команда use. Например, для просмотра информации по использованию утилиты ls выполните такую команду: use ls.

При работе в командной строке важную роль играют так называемые переменные системного окружения. Список этих переменных можно получить командой set.

Таблица 1

Основные команды QNX

Что нужно сделать?

Команда

Что нужно сделать?

Команда

В каком каталоге находимся

Просмотр содержимого каталога

Перейти в другой каталог

Создать пустой файл

Создать каталог

Информация о потоках

Информация о процессах

Запуск текстового редактора

Запуск в режиме демона

Запуск связи с целевой системой

pwd

ls

cd

touch

mkdir

pidin

ps

ped

ped &

qconn

Копировать файл

Копировать каталог

Удалить файл

Удалить каталог

Просмотреть файл

Переименовать файл

Удалить процесс

Удалить процесс

Справка по команде

Управление выводом

cр –r

rm

rmdir, rm –r

cat

mv

kill

slay

use

>, >>, <, |

Таблица 2

Имя переменной

Что означает переменная

НОМЕ

Path

LD_LIBRARY_PATH

IFS

LOGNAME

PWD

PS1

PS2

UID

TZ

?

Домашний каталог пользователя

Перечень каталогов для поиска запускаемых программ

Перечень каталогов для поиска динамических библиотек

Разделитель полей ввода

Имя пользователя

Имя текущего каталога

Вид первичного приглашения

Вид вторичного приглашения (для ввода незаконченной команды)

Идентификатор пользователя

Временной пояс

Код завершения последней выполненной команды

Изменять значения переменных в Korn Shell очень просто — надо выполнить присваивание:

ПЕРЕМЕННОЙ=значение переменной

Однако присвоенное таким образом значение будет иметь смысл только в данной работающей оболочке. Для того чтобы переменная распространялась на все запущенные процессы, используют такую команду:

port ИМЯ_ПЕРЕМЕННОЙ

Можно экспортировать переменную непосредственно при создании:

Export ИМЯ_ПЕРЕМЕННОЙ= ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ

Просмотреть значение одной из переменных (чтобы не выводить весь список) можно такой командой:

echo $ИМЯ__ПЕРЕМЕННОЙ

При запуске в качестве входной оболочки (login shell) Korn Shell выполняет команды, содержащиеся в файле /etc/profile, затем команды, содержащиеся в файле $номе/.profile. Разумеется, если эти файлы существуют и доступны по чтению. Для того чтобы при входе в систему автоматически устанавливались необходимые переменные, необходимо откорректировать файл .profile, лежащий домашнем каталоге. Для этого можно, например, воспользоваться редактором vi.

Для создания нового командного файла необходимо выполнить команду touch <имя файла> (например, touch d) и затем открыть созданный пустой файл в текстовом редакторе ped (например, ped d). В текстовом редакторе необходимо набрать следующий текст:

#!/bin/sh

ls

touch cc

ls

rm cc

ls

Затем сохранить файл, закрыть редактор. Если запустить пакетного файла так: # d, то ОС не находет файл и он не выполниться. Если указать полный путь, так: # ./d, то файл ОС найдет, но не сможет исполнить, так как у него не установлен атрибут исполняемого файла. Команда chmod 777 d устанавливает все необходимые атрибуты. Теперь запуск пакетного файла: # ./d обеспечит его успешное выполнение.

Таблица 3

Сравнение команд QNX и MS-DOS

QNX

Назначение команды

MS-DOS

mkdir a1

Создать каталог с именем a1

md a1

ls

Вывод на экран содержимого каталога

dir

cd a1

Перейти в каталог a1

cd a1

pwd

Выводит имя текущего каталога

-

touch aa

Создание нового файла

copy con aa

ls

Вывод на экран содержимого каталога

dir

cat aa

Вывод содержимого файла на экран

type aa

ped aa

Отредактировать файл aa

edit aa

cat aa

Просмотреть на экране содержимое файла aa

type aa

ls > bb

Перенаправить вывод команды ls в файл bb

dir > bb

cat bb

Просмотреть на экране содержимое файла bb

type bb

ls

Вывод на экран содержимого каталога

dir > bb

ls >> bb

Перенаправить вывод команды ls в файл bb

dir >> bb

cat bb

Просмотреть на экране содержимое файла bb

type bb

ls > bb

Перенаправить вывод команды ls в файл bb

dir > bb

cat bb

Просмотреть на экране содержимое файла bb

type bb

rm bb

Удаление файла bb

del bb

cd .

Переход из каталога сам в себя

cd .

cd ..

Переход в родительский католог

cd ..

cd /

Переход в корневой католог

cd /

Подробнее примеры работы в командной строке и применения потоков ввода/вывода и конвееров рассмотрено в книге «QNX Momentics. Основы применения» [1 стр. 40-51].