Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_СГTУ new v10.doc
Скачиваний:
147
Добавлен:
12.11.2019
Размер:
4.13 Mб
Скачать

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

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

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

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

Основные команды QNX Таблица 10

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

Команда

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

Команда

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

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

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

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

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

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

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

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

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

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

pwd

ls

cd

touch

mkdir

pidin

ps

ped

ped &

qconn

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

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

Удалить файл

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

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

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

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

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

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

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

cр –r

rm

rmdir, rm –r

cat

mv

kill

slay

use

>, >>, <, |

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

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

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

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

Таблица 11

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

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

НОМЕ

Path

LD_LIBRARY_PATH

IFS

LOGNAME

PWD

PS1

PS2

UID

TZ

?

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

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

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

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

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

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

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

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

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

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

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

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

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 обеспечит его успешное выполнение.

Сравнение команд 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. Основы применения» [15 стр. 40-51].

Работа в графической среде Photon microGUI. Если при входе в систему выполнен через phlogin или запущена команда ph после вохода через login, то пользователь оказывается в рабочем пространстве ("workspace") графической оболочки Photon аналогичной Windows. Снизу находится панель задач, в левой ее части находится кнопка Launch. При нажатии кнопки Launch появляется меню, через которое можно вызывать различные прикладные программы. В правой части экрана находится меню быстрого запуска приложений – Shelf.

Следует обратить внимание на следующие программы:

  • Photon Terminal — pterm. Это штатный псевдотерминал, позволяющий работать с инструментами командной строкой (в том числе и с нашим рекстовым редактором vi);

  • Helpviewer — программа доступа к штатной электронной документации. Надо сказать, что в составе QNX поставляется достаточно обширная и подробная документация;

  • Photon File Manager (pfm) – штатный файловый менеджер Для любителей Norton Commander есть продукт третьего производителя mqc (MiShell QNX Commander) анализа Linux-ового Midnight Commander.

Есть весьма полезный файл $HOME/.ph/phapps — это командный файл, в котором можно перечислить приложения, которые Photon должен запускать автоматически при своем запуске.

Переключение между виртуальными консолями выполняется комбинацией клавиш Ctrl+Alt+F[1-6], где F1-F6 номера консолй.