Операционная система Unix. Интерпретатор командной строки (shell)

В Linux нет отдельного объекта под именем «система». Система - она на то и система, чтобы состоять из многочисленных компонентов, взаимодействующих друг с другом. Главный из системных компонентов - пользователь. Это он командует машиной, а та его команды выполняет. В руководствах второго и третьего разделов описаны системные вызовы (функции ядра) и библиотечные функции. Они-то и есть непосредственные команды системе. Правда, воспользоваться ими можно только написав программу (чаще всего - на языке Си), нередко - программу довольно сложную. Дело в том, что функции ядра реализуют низкоуровневые операции, и для решения даже самой простой задачи пользователя необходимо выполнить несколько таких операций, преобразуя результат работы одной для нужд другой. Возникает необходимость выдумать для пользователя другой - более высокоуровневый и более удобный в использовании - язык управления системой. Все команды, которые использовал Мефодий в работе, были частью именно этого языка.

Из чего несложно было заключить, что обрабатывать эти команды, превращать их в последовательность системных и библиотечных вызовов должна тоже какая-нибудь специальная программа, и именно с ней непрерывно ведёт диалог пользователь сразу после входа в систему. Так оно и оказалось: программа эта называется интерпретатор командной строки или командная оболочка («shell»). «Оболочкой» она названа как раз потому, что всё управление системой идёт как бы «изнутри» неё: пользователь общается с нею на удобном ему языке (с помощью текстовой командной строки), а она общается с другими частями системы на удобном им языке (вызывая запрограммированные функции).

Таким образом, упомянутые выше правила разбора командной строки - это правила, действующие именно в командном интерпретаторе: пользователь вводит с терминала строку, shell считывает её, иногда - преобразует по определённым правилам, получившуюся строку разбивает на команду и параметры, а затем выполняет команду, передавая ей эти параметры. Команда, в свою очередь, анализирует параметры, выделяет среди них ключи, и делает что попросили, попутно выводя на терминал данные для пользователя, после чего завершается. По завершении команды возобновляется работа «отступившего на задний план» командного интерпретатора, он снова считывает командную строку, разбирает её, вызывает команду... Так продолжается до тех пор, пока пользователь не скомандует оболочке завершиться самой (с помощью logout или управляющего символа « ^D », который для shell значит то же, что и для других программ: больше с терминала ввода не будет).

Конечно, командных интерпретаторов в Linux несколько. Самый простой из них, появившийся в ранних версиях UNIX, назывался sh , или «Bourne Shell» - по имени автора, Стивена Борна (Stephen Bourne). Со временем его - везде, где только можно - заменили на более мощный, bash , «Bourne Again Shell».

Игра слов: «Bourne Again» вслух читается как «born again», т. е. «возрождённый».

bash превосходит sh во всём, особенно в возможностях редактирования командной строки. Помимо sh и bash в системе может быть установлен «The Z Shell», zsh , самый мощный на сегодняшний день командный интерпретатор (шутка ли, 22 тысячи строк документации), или tcsh , обновлённая и тоже очень мощная версия старой оболочки «C Shell», синтаксис команд которой похож на язык программирования Си.

Когда Гуревич добавлял учётную запись Мефодия в систему, он не стал спрашивать того, какой командный интерпретатор ему нужен, потому что знал: для новичка имя командного интерпретатора - пустой звук. Тем не менее имя оболочки, запускаемой для пользователя сразу после входа в систему - т. н. стартовый командный интерпретатор (login shell), - это часть пользовательской учётной записи, которую пользователь может изменить командой chsh (change shell).

Какая бы задача, связанная с управлением системой, ни встала перед пользователем Linux, она должна иметь решение в терминах командного интерпретатора. Фактически, решение пользовательской задачи - это описание её на языке shell. Язык общения пользователя и командного интерпретатора - это высокоуровневый язык программирования, дополненный, с одной стороны, средствами организации взаимодействия команд и системы, а с другой стороны - средствами взаимодействия с пользователем, облегчающими и ускоряющими работу с командной строкой.

Иллюстрация 2. Интерфейс командной строки. Издание второе, переработанное и дополненное. Взаимодействие пользователя с компьютером посредством терминала и оболочки.

Команды и утилиты

$ apropos s . . . (четыре с половиной тысячи строк!)

Пример 18 . Бессмысленная команда

Одного неудачного запуска apropos Мефодию было достаточно для того, чтобы понять: команд в Linux очень много. Ему пришло в голову, что никакая программа - пусть даже и оболочка - не может самостоятельно разбираться во всех задокументированных командах. Кроме того, Гуревич называл большинство команд утилитами , то есть полезными программами. Стало быть, командный интерпретатор не обязан уметь выполнять всё, что вводит пользователь. Ему достаточно разобрать командную строку, выделить из неё команду и параметры, а затем запустить утилиту - программу, имя которой совпадает с именем команды.

В действительности собственных команд в командном интерпретаторе немного. В основном это - операторы языка программирования и прочие средства управления самим интерпретатором. Все знакомые Мефодию команды, даже echo , существуют в Linux в виде отдельных утилит. shell занимается только тем, что подготавливает набор параметров в командной строке (например, раскрывая шаблоны ), запускает программы и обрабатывает результаты их работы.

$ type info info is /usr/bin/info $ type echo echo is a shell builtin $ type -a echo echo is a shell builtin echo is /bin/echo $ type -a -t echo builtin file $ type -a -t date file $ type -at cat file

Пример 19 . Определение типа команды

В bash тип команды можно определить с помощью команды type . Собственные команды bash называются builtin (встроенная команда), а для утилит выводится путь , содержащий название каталога, в котором лежит файл с соответствующей программой, и имя этой программы. Некоторые - самые нужные - команды встроены в bash , даже несмотря на то, что они имеются в виде утилит (например, echo). Работает встроенная команда так же, но так как времени на её выполнение уходит существенно меньше, командный интерпретатор выберет именно её, если будет такая возможность. Ключ « -a » («a ll», конечно), заставляет type вывести все возможные варианты интерпретации команды, а ключ « -t » - вывести тип команды вместо пути.

По совету Гуревича Мефодий сгруппировал ключи, написав « -at » вместо « -a -t ». Многие утилиты позволяют так делать, уменьшая длину командной строки. Если встречается параметрический ключ, он должен быть последним в группе, а его значение - следовать, как и полагается, после. Группировать можно только однобуквенные ключи.

Слова и разделители

При разборе командной строки shell использует понятие разделитель (delimiter). Разделитель - это символ, разделяющий слова; таким образом командная строка - это последовательность слов (которые имеют значение) и разделителей (которые значения не имеют). Для shell разделителями являются символ пробела, символ табуляции и символ перевода строки (который всё-таки может попасть между словами способом, описанным в лекциях Работа с текстовыми данными и Возможности командной оболочки). Количество разделителей между двумя соседними словами значения не имеет.

Первое слово в тройке передаётся команде как первый параметр, второе - как второй и т. д. Для того, чтобы разделитель попал внутрь слова (и получившаяся строка с разделителем передалась как один параметр), всю нужную подстроку надо окружить одинарными или двойными кавычками:

$ echo One Two Three One Two Three $ echo One "Two Three" One Two Three $ echo "One > > Ой. И что дальше? > А, кавычки забыл!" One Ой. И что дальше? А, кавычки забыл! $

Пример 20 . Закавычивание в командной строке

В первом случае команде echo было передано три параметра - « One », « Two » и « Three ». Она их и вывела, разделяя пробелом. Во втором случае параметров было два: « One » и « Two Three ». В результате эти два параметра были также выведены через пробел. В третьем случае параметр был всего один - от открывающего апострофа « "One » до закрывающего « ...забыл!" ». Всё время ввода bash услужливо выдавал Мефодию подсказку « > » - в знак того, что набор командной строки продолжается, но в режиме ввода содержимого кавычек.

"1. Окружение - это
механизм передачи данных от родительского процесса дочернему +"

"2. Фильтром в UNIX-системах называется
программа, которая без перенаправления ввода-вывода читает с клавиатуры, а пишет на терминал+

"3. Термин ""стандартный вывод ошибок программы"" обозначает
поток данных, куда по умолчанию выводятся диагностические сообщения+
"
"6. Достраивание - это
подстановка полного имени объекта по части этого имени+
"
"5. Что не характерно для командного интерпретатора?
преобразование регулярного выражения в соответствующую ему подстроку+

"7. Сколько X-серверов может быть зарегистрировано на одном компьютере?
любое количество+

"8. В графической среде X11:
каждый X-клиент нуждается в X-сервере, идентификатор которого обязательно задавать с помощью параметра или переменной окружения+

"9. XFree86 - это
собственное имя графической подсистемы, ориентированной на архитектуру IBM PC +"

". Что такое инструментальная область человеческой деятельности?
область создания универсального подхода к решению класса задач +"

"14. В чём причина разделения прикладной и инструментальной областей при решении задачи?
устройство инструмента, решающего задачу может не иметь отношения ни к самой задаче, ни к её решению+
для того, чтобы пользоваться инструментом решения задачи, необязательно знать как он устроен+
одна и та же технология может быть использована для создания решений задач в самых разных областях, зачастую непересекающихся +"

"15. Знание каких областей необходимо опытному пользователю процедурной системы?
прикладной+
"

"17. Что не поддерживается в редакторе vim?
звуковое сопровождение команд +"

"20. Каталог /var в типичной UNIX-системе применяется для хранения
файлов, размер и количество которых заранее неизвестны+

"21. Что находится в каталоге /etc/rc3.d в Linux-системе?
символьные ссылки на стартовые сценарии системных служб +"

"23. Документация в виде info-страниц
гипертекст строгой структуры, который можно получить из других форматов представления документации+

"25. Принцип гарантированных навыков требует, чтобы
имея самые общие навыки работы с машиной, пользователь уже мог решать свои задачи+

"26. Предписание в процедурной системе - это
описание применения системы на языке прикладной области+

"27. Выберите пункт, содержащий только принципы организации процедурных систем
персональной ответственности и гарантированных навыков +"

"28. Номинальный субъект - это
то, на основании чего система принимает решение о предоставлении доступа к объекту+

"29. Вертикальные информационные потоки имеют дело с
объектами разной степени значимости+

30. Субъект-субъектная модель прав доступа используется для
ограничения прав доступа одного конкретного субъекта к одному конкретному объекту+

"31. Этапы процедуры трёхуровневой загрузки:
загрузки, выбор программы загрузки, выбор ядра системы+
"
"32. Чего нельзя сделать в схеме загрузки FreeBSD?
загрузчик с раздела, объявленного не в MBR, а в extended partition+
"

"34. (выберите неправильный ответ) Базовое регулярное выражение включает в себя понятие
номер группы+

"35. Расширенное регулярное выражение включает в себя понятие
операция выбора+

"36. Какая из строк ""abcdf"" ""abcdbcdf"" ""abcdef"" ""af"" ""adbdf"" ""acf"" соответствуют РВ "af"
acf+

"37. В чём заключается ""проблема управляющего ввода"" в текстовых редакторах?
команды управления многочисленнее и разнообразнее, чем управляющие клавиши, но для вызова команды управления желательно выполнять минимум действий+

"38. Утилита ex - это
построчный текстовый редактор, аналогичный редактору vi, постоянно работающему в режиме командной строки +"

"40. Активный процесс отличается от фонового тем, что
только активный процесс имеет возможность вводить данные с терминала +"

"41. PID (идентификатор процесса) - это
уникальное число, присваиваемое каждому процессу+

"42. Как остановить ""зависшую"" программу?
узнать её PID и послать сигнал ""KILL"" с помощью программы kill+
"
"43. Разделение ресурсов - это
ограничение способа доступа к ресурсам (политика доступа) и самой возможности использовать ресурс (права доступа)+
"

"45. В функции операционной среды входит
унификация, разделение и учёт системных ресурсов+

"46. Сколько _способов_ доступа в файловой системе UNIX?
три: запись, чтение и использование+

"48. Номинальный субъект в UNIX однозначно определяется
UID+

"49. Создатели UNIX-систем рассчитывали
на образованного и заинтересованного в развитии системы пользователя+
"
"0. Демоны в типичной UNIX-системе
соответствуют понятию системного наполнения операционной среды+
"
"51. Интерфейс UNIX-системы
основан на передаче текстовых данных+

"2. Подстановка в shell - это
временный или постоянный запуск другой программы вместо командного интерпретатора+

"4. Основные команды работы с файлами:
ls, rm, mv, cp+

"6. Если в текущем каталоге есть по крайней мере файл с именем ""a"", то по команде ls a* утилита ls получит

список всех файлов текущего каталога, чьё имя начинается на "a"+ "

"7. Число 11 в имени X11 - это
номер версии протокола передачи графических данных+
"
"8. Какому из подходов к разработке ОС отвечает метафора ""рабочего стола""?
процедурному, так как содержит легенду+
"
"9. В графической среде X11:
X-клиент подаёт запросы графического ввода-вывода, а X-сервер выполняет их, а также взаимодействует с пользователем, опрашивая устройства ввода+
"
"10. Проект в проективной системе - это
набор данных, полностью задающих свойства созданной на их основе системы+

"11. Укажите область применения, не характерную для проективных систем
расчёт в супермаркете+

"12. Проект в проективной системе - это набор данных, однозначно описывающий
все необходимые пользователю свойства будущей системы+

"13. В качестве кого выступает пользователь процедурной системы?
Клиента+

"14. Что такое человеко-машинная система?
система, в которой решение задачи происходит в результате взаимодействия человека и машины+

"15. Назовите инструментальную и прикладную область при решении следующей задачи: создание железнодорожного расписания
транспортировка и безопасность – инструментальная область; математическая статистика и математическая логика - прикладная+
"
"16. Метки текста
используются в командах перемещения на заранее определённое пользователем место текста+

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

"19. Стандартные каталоги UNIX подразделяются
по способу использования хранимых файлов системой и пользователем +"

"20. В каталогах rc1.d, rc2.d и т. п. находятся
символьные ссылки на стартовые сценарии, двух различных видов+

"21. Каталог /etc в типичной UNIX-системе применяется для хранения
настроечных файлов и стартовых сценариев системы+

"22. Назначение поля NAME:
краткое описание объекта, служащее индексом в базе данных whatis+


NAME и DESCRIPTION+

"24. Выберите пункт, в котором упомянуты только основные источники информации о системе
руководства и /usr/share/doc+

"25. (выберите неправильный ответ) Соблюдение принципов организации процедурных систем помогает
самостоятельной постановке и решению задач+

"6. Диалог человека и машины в процедурной системе чаще всего строится на основе
активности машины, предлагающей варианты решений+

"28. Отсроченная передача данных возможна
только в системе с сеансами доступа+

"32. Дополнительный раздел диска (extended partition) - это
любая, кроме первой, используемая часть диска, начинающаяся таблицей разбиения диска+

"36. Какая из строк ""abcdf"" ""abcdbcdf"" ""abcdef"" ""af"" ""adbdf"" ""acf"" соответствуют РВ "a(bcd)*f"
abcdf abcdbcdf af+

"37. Аббревиативность команд в vi приводит к тому, что
последовательность команд редактирования можно читать их полными именами +"

"38. В редакторе vi три режима работы с текстом:
командной строки, командный и режим вставки+
"
"39. При нажатии клавиши ""c"" в командном режиме vi произойдёт
ожидание команды перемещения, после которой соответствующая часть строки будет удалена и произойдёт переход в режим вставки+

"40. Терминальная линия - это
устройство последовательной передачи байтов в /dev, способное преобразовывать входной и выходной потоки и передавать сигналы+

"42. Сигнал - это
не зависящий от файловой системы способ взаимодействия процессов +"

"43. В чём разница между операционной системой и операционной средой?
операционная система - это рассмотрение человеко-машинной системы с точки зрения её разработчика, а операционная среда - с точки зрения пользователя+

"44. Чем отличаются счётные и обменные задачи?
пока обменная задача ожидает конца операции ввода-вывода, счётная может выполняться, даже если стоит в очереди на выполнение позже +"

"45. В чём смысл различения системного и пользовательского наполнения ОС?
системное наполнение связано с инструментальными, а +"

"46. Что полностью реализовано в UNIX?
доверенный субъект +"

"47. Для чего нужен ""t-бит"" каталога?
чтобы пользователь не имел права удалять чужие файлы из этого каталога+

"49. Сложнее всего в UNIX-системе соблюсти

принцип умопостижимости контекста, так как возможности системы постоянно расширяются+
"
"50. Большинство функций пользовательского интерфейса в Unix-системах берёт на себя
командный интерпретатор и файловая система+

"51. Понятия ""системная утилита"" и ""пользовательская утилита"" в UNIX

пересекаются по причине смешения инструментальной и прикладной областей+
"
"3. Термин ""стандартный ввод программы"" обозначает

поток данных, откуда происходит чтение по умолчанию+

4. Интерфейс командной строки появился вследствие

необходимости совмещать разработку проекта, запуск решения и анализ результатов в едином интерфейсе+
"
"5. При редактировании командной строки и истории главное - это

минимизация действий по основным функциям - поиску, удалению, достраиванию и т. п.+

"9. X11R6 - это

имя и номер версии протокола передачи графических данных+
"
"10. Без соблюдения какого принципа невозможна полноценная проективная система?

принципы взаимосвязаны, поэтому нарушение любого вредит остальным, а следовательно, и системе +"
"11. При освоении проективной системы пользователю придётся


"
"11. Принцип информационной открытости требует, чтобы

в системе было достаточно информации для полного её освоения+

"15. Назовите инструментальную и прикладную область при решении следующей задачи: проектирование корпуса инвалидной коляски

автопромышленность и медицина - прикладная область; сопромат и химия металлов – инструментальная+
"
"16. По возможностям редактор vim
намного превосходит редактор vi+

"19. Что делает команда mount?
делает доступной указанную файловую систему в виде подкаталога в дереве каталогов+

"24. Выберите пункт, в котором упомянуты только важнейшие поля руководства

DESCRIPTION и SEE ALSO+"

"26. Процедура в процедурной системе - это

действие пользователя, приводящее к изменению свойств объекта +"
"27. Выберите пункт, содержащий только принципы организации процедурных систем

перекрытия процедур и гарантированных навыков+
"
"28. Информационный поток в модели секретности - это

изменение уровня значимости объекта+
,
"30. Доверенный субъект

может нарушать политику безопасности системы+
"
"31. Трёхуровневая схема позволяет

защитить процесс загрузки от взлома со стороны злоумышленника, получившего доступ к системной консоли "

BootROM, BootBlock, BootProg+
"
"33. Как много стандартных разделов помещается в одной таблице разбиения диска (HDPT) IBM-совместимого компьютера?

34. Причина частого применения регулярных выражений в UNIX

большинство проектов UNIX представляют собой структурированный текст, хорошо поддающийся разбору при помощи регулярного выражения+

"36. Контекстный адрес задаёт

диапазон строк, к которым применяется соответствующая команда+

оконечное оборудование, завершающее поток ввода или вывода данных+

"46. Можно ли удалить чужой файл из своего каталога?

да. Удаление - это операция над каталогом, а не над файлом+

"49. UNIX - это
название класса проективных человеко-машинных компьютерных систем+

"
"50. Пакеты в типичной UNIX-системе

"1. Операция ""|"" в shell

разделяет две команды: вывод первой перенаправляется на вход второй+

"8. В чём разница между терминами ""X-терминал"" и ""xterm""
X-терминал - это компьютер, а xterm - программа+
"

"10. В основе проективной системы лежит требование
понимания процессов, в ней происходящих+
"

"12. Обратная задача проективной системы - это

модификация проекта системы на основе анализа недостатков продукта+
"
"13. Что такое прикладная область человеческой деятельности

область постановки и решения задачи+
"

"15. Назовите инструментальную и прикладную область при решении следующей задачи: создание интернет-казино

математическая статистика и финансовая деятельность – прикладная область; web-дизайн и психология – инструментальная+
"
"16. Настройки редактора vi можно изменить

двумя способами без ограничений +"
"7. Что не поддерживается в редакторе vim?
перемещение по гипертекстовым ссылкам в формате HTML (без использования внешних ссылок)+
"
"18. Можно ли реализовать функцию редактирования электронных таблиц?

да, но это, скорее всего, потребует применения внешних программ для преобразования редактируемых данных+"
"19. Уровни выполнения - это

профили работы систем семейства USG, различающиеся списком выполняемых функций+
"
"20. Главный недостаток ""линейной"" схемы начальной загрузки (т. н. старая BSD-схема, FreeBSD4)

для изменения порядка загрузки служб необходимо редактировать стартовый сценарий, внесение синтаксических ошибок в который чревато неработоспособностью системы+ "
"21. Каталог /usr в типичной UNIX-системе применяется для хранения

большинства файлов, необходимых для штатной работы системы+"
"22. Назначение поля SYNOPSIS:
краткая справка по использованию объекта+

"
"23. Все страницы руководства

разбиты на семь-девять разделов+
"
"24. Выберите пункт, в котором упомянуты только основные источники информации о системе
руководства и info-страницы+"

"26. Легенда в процедурной системе - это
описание устройства системы на языке прикладной области+
"
"26. Предписание в процедурной системе - это

описание применения системы на языке прикладной области+
"
"28. Субъект-объектная модель на основе ACL

ставит в соответствие каждому объекту произвольный список субъектов и их прав доступа+
"

"32. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

выбор устройства, выбор и настройка загрузчика, выбор и настройка ядра +"
"33. Как много стандартных основных разделов можно завести на диске IBM-совместимого компьютера?

четыре, если дополнительных разделов не предусмотрено, иначе - три +"

"35. Одно и то же регулярное выражение можно использовать во всех утилитах, работающих с РВ

только базовое, предварительно адаптированное согласно стилю+
"

"37. Экранный редактор vi

существует в любой UNIX-системе, однако при неудачно настроенном терминале воспользоваться им можно только в построчном режиме+
"
"38. Гнездовая команда в vi может состоять из

множителя, действия и перемещения по тексту+

объект файловой системы, содержащий строку, которая интерпретируется как путь к файлу+
"
"42. (выберите неправильный ответ) Как остановить запущенную без параметров программу ""cat""?

послать ей символ конца файла (обычно -- ""^Z"")+

унификация, разделение и учет системных ресурсов+
"
"45. Что такое ""контекст задачи""?

информация, необходимая для манипулирования задачей при организации псевдопараллельности+
"
"45. Что такое ""виртуальная память""?
способ разделения адресного пространства между задачами+

"49. Гнёзда UNIX

следствие постоянного развития системы различными организациями+
"

"51. Задачи в очереди UNIX-процессов

выполняются в порядке, учитывающем место в очереди, но с таким расчётом, чтобы уменьшить время простоя системы +"
"3. Термин ""стандартный вывод программы"" обозначает

поток данных, куда происходит запись по умолчанию+
"
"4. В строке, набираемой в ответ на ""подсказку"" shell первое слово - это чаще всего
утилита +"

"8. В графической среде X11:

X-сервер - программа, для работы которой нужны устройства графического ввода-вывода +"

"11. Принцип умопостижимости контекста требует, чтобы

для решения поставленной перед системой задачи не требовалось бы изучать работу большинства частей системы+

"19. В UNIX-системах

используется несколько типов файловых систем+
"
"20. Какой процесс связан с каждым терминалом немедленно по окончании загрузки?

программа getty+"

"25. В основе процедурной системы лежит требование

сокращения или исключения из диалога человека и машины понятий, не входящих в прикладную область +"
"26. Принцип перекрытия процедур требует, чтобы

любую задачу можно было решить с помощью одной имеющейся процедуры или последовательного применения нескольких+

"29. Модель надёжности вводит запрет

на операции, приводящие к перемещению объекта на более высокий уровень +"

"37. Главная область применения текстового редактора в UNIX
создание информационных и обучающих текстов
разработка и изменение программ и настроечных файлов+
разработка и преобразование системных служб
разработка и отображение внешнего вида печатной документации "
"38. Больше всего в vi

команд перемещения по тексту+
"

"42. Понятие ""терминал"" может обозначать

файл-дырку, особым образом интерпретирующую передаваемые через неё текстовые данные+++
"
"43. Для традиционного механизма виртуальной памяти справедливо утверждение:

любая задача имеет непрерывное адресное пространство, недоступное другой задаче+

"46. Кто чаще всего запускает команду ""chown""?
Суперпользователь+
"

"49. Интерфейс UNIX-системы

основан на передаче текстовых данных, поэтому вообще не требует устройств графического ввода-вывода+

"
"50. Функцию менеджера ресурсов в UNIX выполняет

ядро - для ресурсов, необходимых самой системе, демоны и системные программы - для пользовательских ресурсов+
"
"1. В каком случае оператор if в shell посчитает условие выполненным?

если после выполнения списка команд, помещённых в поле ""условие"", код возврата не равен 0 +"
"1. Профиль (profile) командного интерпретатора - это

сценарий, выполняющийся при входе в систему+

"5. При типичном использовании шаблона
командный интерпретатор подставляет в команду список соответствующих шаблону файлов+

"
"7. Перемещением, изменением размера и внешнего вида окон в X занимается

X-сервер отвечает за размер и положение окна, выполняя команды окновода, который вдобавок дориcовывает рамки и декораторы+"
"7. Особенность графических ресурсов в том, что они

могут понадобиться только пользователям, имеющим доступ к устройствам графического ввода-вывода+

"11. При освоении проективной системы пользователю придётся

реализовать несколько решений уже решённых простых задач+
"
"12. Выберите пункт, содержащий только принципы организации проективных систем

информационной открытости и персональной ответственности +"
"13. Знание каких областей необходимо опытному пользователю проективной системы?
прикладной и инструментальной+

"
"14. Пользователь какого вида систем чаще выступает в роли посредника между машиной и заказчиком?

Проективного+
"
"15. Какой тип человеко-машинных систем требует от пользователя знания инструментальной области?

Проективный+
"
"16. Сколько карманов у редактора vi?

один неименованный и несколько именованных+
"
"17. Имеет ли смысл хранить сложные команды vi в виде комментариев к тексту?

да, в vi есть команда выполнения содержимого кармана как списка команд +"

"23. Выберите пункт, в котором упомянуты только важнейшие поля руководства
NAME и SEE ALSO+

"25. Принцип ограниченной осведомлённости требует, чтобы
решение пользовательской задачи не требовало изучения самой системы+

различна для разных архитектур компьютеров+
"
"32. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки
универсальный программный уровень, многофункциональный программный уровень; уровень, ориентированный на определённый формат ядра и модулей
аппаратный уровень; универсальный программный уровень; многофункциональный программный уровень, ориентированный на определённый формат ядра и модулей+
уровень BIOS, уровень ядра, уровень самонастройки ядра
аппаратный уровень, уровень BIOS, универсальный программный уровень "

"34. Правило ""левый-длинный"" говорит о том, что
из всех соответствующих РВ подстрок выбирается та, что начинается раньше, а если таких несколько - самая длинная среди них+
"
"36. Какая из строк соответствуют РВ "m(1.3|)+"
m123x m1x3x1x3 m1-3yy1+3 m113113113 myxxz+
"
"37. (выберите неправильный ответ) Утилита ed - это

интерактивный редактор текстов с небольшим количеством мощных команд редактирования+

"
"39. Утилита ed - это
построчный текстовый редактор, работающий с любым типом терминалов+

"44. В функции операционной среды входит
унификация, разделение и учёт задач+

"45. Что такое ""псевдопараллелизм""?
технология одновременного выполнения нескольких задач независимо от количества процессоров компьютера+

"46. Почему ""login"" может запустить shell ""от лица"" любого пользователя?
программа ""login"" запускается с правами суперпользователя+
"
"23. Документацию по UNIX-системе
следует оформлять сообразно специфике: общие сведения и контекст - в виде man, сложные руководства - в виде info или html, книги и учебники - в специальных форматах+

"32. Стартовый виртуальный диск (initrd) - это
механизм размещения файловой системы в памяти для загрузки и компоновки модулей ядра во время досистемной загрузки+"

"42. (выберите неправильный ответ) Как на время приостановить слишком объёмистый вывод программы (например, ""ls -r /"")?
перенаправить оставшийся вывод в файл (обычно ""> file"")+

Аннотация: Рассматриваются внутренние команды, поддерживаемые интерпретатором Cmd.exe, и наиболее часто используемые внешние команды (утилиты командной строки). Описываются механизмы перенаправления ввода/вывода, конвейеризации и условного выполнения команд. Даются примеры команд для работы с файловой системой

Оболочка командной строки Windows. Интерпретатор Cmd.exe

В операционной системе Windows , как и в других операционных системах, интерактивные (набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью так называемого командного интерпретатора, иначе называемого командным процессором или оболочкой командной строки ( command shell ). Командный интерпретатор или оболочка командной строки - это программа , которая, находясь в оперативной памяти, считывает набираемые вами команды и обрабатывает их. В Windows 9x, как и в MS-DOS , командный интерпретатор по умолчанию был представлен исполняемым файлом command . com . Начиная с версии Windows NT, в операционной системе реализован интерпретатор команд Cmd.exe, обладающий гораздо более мощными возможностями.

Запуск оболочки

В Windows NT/2000/XP файл Cmd.exe, как и другие исполняемые файлы, соответствующие внешним командам операционной системы, находятся в каталоге %SystemRoot%\SYSTEM32 (значением переменной среды %SystemRoot% является системный каталог Windows, обычно C:\Windows или C:\WinNT). Для запуска командного интерпретатора (открытия нового сеанса командной строки) можно выбрать пункт Выполнить… (Run) в меню Пуск (Start), ввести имя файла Cmd.exe и нажать кнопку OK. В результате откроется новое окно (см. рис. 2.1), в котором можно запускать команды и видеть результат их работы.


Рис. 2.1.

Внутренние и внешние команды. Структура команд

Некоторые команды распознаются и выполняются непосредственно самим командным интерпретатором - такие команды называются внутренними (например, COPY или DIR ) Другие команды операционной системы представляют собой отдельные программы, расположенные по умолчанию в том же каталоге, что и Cmd.exe, которые Windows загружает и выполняет аналогично другим программам. Такие команды называются внешними (например, MORE или XCOPY ).

Рассмотрим структуру самой командной строки и принцип работы с ней. Для того, чтобы выполнить команду, вы после приглашения командной строки (например, C:\> ) вводите имя этой команды (регистр не важен), ее параметры и ключи (если они необходимы) и нажимаете клавишу . Например:

C:\>COPY C:\myfile.txt A:\ /V

Имя команды здесь - COPY , параметры - C:\myfile.txt и A:\ , а ключом является /V . Отметим, что в некоторых командах ключи могут начинаться не с символа /, а с символа – (минус), например, -V .

Многие команды Windows имеют большое количество дополнительных параметров и ключей, запомнить которые зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в которой кратко описываются назначение и синтаксис данной команды. Получить доступ к такой справке можно путем ввода команды с ключом / ?. Например, если выполнить команду ATTRIB / ?, то в окне MS-DOS мы увидим следующий текст:

Отображение и изменение атрибутов файлов. ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла] + Установка атрибута. - Снятие атрибута. R Атрибут "Только чтение". A Атрибут "Архивный". S Атрибут "Системный". H Атрибут "Скрытый". /S Обработка файлов во всех вложенных папках указанного пути.

Для некоторых команд текст встроенной справки может быть довольно большим и не умещаться на одном экране. В этом случае помощь можно выводить последовательно по одному экрану с помощью команды MORE и символа конвейеризации |, например:

В этом случае после заполнения очередного экрана вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя символы перенаправления вывода > и >> , можно текст, выводимый на экран, направить в текстовый файл для дальнейшего просмотра. Например, для вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется следующая команда:

XCOPY /? > XCOPY.TXT

Замечание

Вместо имени файла можно указывать обозначения устройств компьютера. В Windows поддерживаются следующие имена устройств: PRN (принтер), LPT1 –LPT3 (соответствующие параллельные порты), AUX (устройство, присоединяемое к последовательному порту 1), COM1–COM3 (соответствующие последовательные порты), CON (терминал: при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются).

Перенаправление ввода/вывода и конвейеризация (композиция) команд

Рассмотрим более подробно поддерживаемые в Windows UNIX-подобные концепции переназначения устройств стандартного ввода/вывода и конвейерного выполнения команд.

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

  • выводить сообщения программ не на экран (стандартный выходной поток), а в файл или на принтер (перенаправление вывода);
  • читать входные данные не с клавиатуры (стандартный входной поток), а из заранее подготовленного файла (перенаправление ввода);
  • передавать сообщения, выводимые одной программой, в качестве входных данных для другой программы (конвейеризация или композиция команд).

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

команда > имя_файла

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

команда >> имя_файла

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

команда < имя_файла

Приведем несколько примеров перенаправления ввода/вывода.

  1. Вывод встроенной справки для команды COPY в файл copy.txt:

    COPY /? > copy.txt

  2. Добавление текста справки для команды XCOPY в файл copy.txt:

    XCOPY /? >> copy.txt

  3. Ввод новой даты из файла date.txt (DATE - это команда для просмотра и изменения системной даты):

    DATE < date.txt

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

команда 2> имя_файла

В этом случае стандартный вывод будет производиться в файл. Также имеется возможность информационные сообщения и сообщения об ошибках выводить в один и тот же файл. Делается это следующим образом:

1. (выберите неправильный ответ) Базовое регулярное выражение включает в себя понятие

2. (выберите неправильный ответ) Как на время приостановить слишком объёмистый вывод программы (например, "ls - r /")?

3. (выберите неправильный ответ) Как остановить запущенную без параметров программу "cat"?

4. (выберите неправильный ответ) Процесс в UNIX-системе

5. (выберите неправильный ответ) Соблюдение принципов организации процедурных систем помогает

6. (выберите неправильный ответ) Утилита ed - это

7. (выберите неправильный ответ) Чем отличается поток управления от потока данных?

8. PID (идентификатор процесса) - это

9. The X window System - это

10. UNIX - это

11. X11R6 - это

12. XFree86 - это

13. X-клиент - это

14. X-сервер - это

15. Аббревиативность команд в vi приводит к тому, что

16. Активный процесс отличается от фонового тем, что

17. Без соблюдения какого принципа невозможна полноценная проективная система?

18. Больше всего в vi

19. Большинство функций пользовательского интерфейса в Unix-системах берёт на себя

20. В shell запись в произвольный файл и чтение оттуда реализованы в виде

21. В UNIX-системах

22. В графической среде X11:

23. В графической среде X11:

24. В графической среде X11:

25. В каком случае оператор if в shell посчитает условие выполненным?

26. В каталогах rc1.d, rc2.d и т. п. находятся

27. В качестве кого выступает пользователь проективной системы?

28. В качестве кого выступает пользователь процедурной системы?

29. В команде ls a b "c d" утилита ls получит

30. В основе проективной системы лежит требование

31. В основе процедурной системы лежит требование

32. В редакторе vi три режима работы с текстом:

33. В редакторе vim сделаны усовершенствования для более удобного редактирования

34. В странице руководства обязаны присутствовать поля

35. В строке "Qbab*cdecW" регулярному выражению "(a|b).*c" соответствует подстрока

36. В строке, набираемой в ответ на "подсказку" shell первое слово - это чаще всего

37. В т. н. новой BSD-схеме начальной загрузки (FreeBSD5), использующей принцип ".d"

38. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

39. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

40. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

41. В функции операционной среды входит

42. В функции операционной среды входит

43. В функции операционной среды входит

44. В чём заключается "проблема управляющего ввода" в текстовых редакторах?

45. В чём причина разделения прикладной и инструментальной областей при решении задачи?

46. В чём разница между операционной системой и операционной средой?

47. В чём разница между терминами "X-терминал" и "xterm"

48. В чём смысл аппаратной поддержки контекста задачи?

49. В чём смысл различения системного и пользовательского наполнения ОС?

50. Вертикальные информационные потоки имеют дело с

51. Все страницы руководства

52. Выберите пункт, в котором упомянуты только важнейшие поля руководства

53. Выберите пункт, в котором упомянуты только важнейшие поля руководства

54. Выберите пункт, в котором упомянуты только важнейшие поля руководства

55. Выберите пункт, в котором упомянуты только основные источники информации о системе

56. Выберите пункт, в котором упомянуты только основные источники информации о системе

57. Выберите пункт, в котором упомянуты только основные источники информации о системе

58. Выберите пункт, в котором этапы решения задачи расположены в оптимальном порядке

59. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

60. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

61. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

62. Выберите пункт, содержащий только принципы организации проективных систем

63. Выберите пункт, содержащий только принципы организации проективных систем

64. Выберите пункт, содержащий только принципы организации проективных систем

65. Выберите пункт, содержащий только принципы организации процедурных систем

66. Выберите пункт, содержащий только принципы организации процедурных систем

67. Выберите пункт, содержащий только принципы организации процедурных систем

68. Главная область применения текстового редактора в UNIX

69. Главный недостаток "линейной" схемы начальной загрузки (т. н. старая BSD-схема, FreeBSD4)

70. Гнёзда UNIX

71. Гнездовая команда в vi может состоять из

72. Действительный субъект - это

73. Действительный субъект в UNIX однозначно определяется

74. Демоны в типичной UNIX-системе

75. Диаграмма достижимости описывает

76. Диалог человека и машины в процедурной системе чаще всего строится на основе

77. Для комфортного освоения редактора vim необходимо

78. Для определения прав доступа субъекта к файлу, системе, вдобавок к атрибутам файла, необходимо знать

79. Для традиционного механизма виртуальной памяти справедливо утверждение:

80. Для управления UNIX-системой необходимо

81. Для чего нужен "t-бит" каталога?

82. Доверенный субъект

83. Документацию по UNIX-системе

84. Документация в виде info-страниц

85. Дополнительный раздел диска (extended partition) - это

87. Достраивание - это

88. Если в текущем каталоге есть по крайней мере файл с именем "a", то по команде ls a* утилита ls получит

90. Задача операционной среды:

91. Задачи в очереди UNIX-процессов

92. Закавычивание необходимо для того, чтобы

93. Знание каких областей необходимо опытному пользователю проективной системы?

94. Знание каких областей необходимо опытному пользователю процедурной системы?

95. Имеет ли смысл хранить сложные команды vi в виде комментариев к тексту?

96. Имя макрокоманды в vi - это

98. Интерфейс UNIX-системы

99. Интерфейс UNIX-системы

100. Интерфейс командной строки появился вследствие

101. Информационный поток в модели надёжности - это

102. Информационный поток в модели секретности - это

103. Как много стандартных основных разделов можно завести на диске IBM-совместимого компьютера?

104. Как много стандартных разделов можно завести на диске IBM-совместимого компьютера?

105. Как много стандартных разделов помещается в одной таблице разбиения диска (HDPT) IBM-совместимого компьютера?

107. Как остановить "зависшую" программу?

108. Какая из строк "abcdf" "abcdbcdf" "abcdef" "af" "adbdf" "acf" соответствуют РВ "a(bcd)*f"

109. Какая из строк "abcdf" "abcdbcdf" "abcdef" "af" "adbdf" "acf" соответствуют РВ "af"

110. Какая из строк соответствуют РВ "m(1.3|)+"

111. Какая из строк соответствуют РВ "n(|x-z)+"

112. Какая из строк соответствуют РВ "o|+"

113. Какая область применения не характерна для процедурных систем?

114. Какой принцип проективной системы соблюдается в vi строже всего?

115. Какой процесс связан с каждым терминалом немедленно по окончании загрузки?

116. Какой тип человеко-машинных систем требует от пользователя знания инструментальной области?

117. Какому из подходов к разработке ОС отвечает метафора "рабочего стола"?

118. Каталог /etc в типичной UNIX-системе применяется для хранения

119. Каталог /usr в типичной UNIX-системе применяется для хранения

120. Каталог /var в типичной UNIX-системе применяется для хранения

121. Контекстный адрес задаёт

122. Кто чаще всего запускает команду "chown"?

123. Легенда в процедурной системе - это

124. Лидером сеанса называется

125. Метки текста

126. Модель надёжности вводит запрет

127. Модель секретности вводит запрет

128. Модули в типичной UNIX-системе

129. Можно ли записать данные в файл, имеющий атрибуты "r--r--r--"?

130. Можно ли реализовать функцию звукового сопровождение команд?

131. Можно ли реализовать функцию перемещения по гипертекстовым ссылкам в формате HTML?

132. Можно ли реализовать функцию редактирования электронных таблиц?

133. Можно ли удалить чужой файл из своего каталога?

134. Назначение поля NAME:

135. Назначение поля SEE ALSO

136. Назначение поля SYNOPSIS:

137. Назовите инструментальную и прикладную область при решении следующей задачи: создание железнодорожного расписания

138. Назовите инструментальную и прикладную область при решении следующей задачи: создание интернет-казино

139. Назовите инструментальную и прикладную область при решении следующей задачи: проектирование корпуса инвалидной коляски

140. Настройки редактора vi можно изменить

141. Номинальный субъект - это

142. Номинальный субъект в UNIX однозначно определяется

143. Обратная задача проективной системы - это

144. Одно и то же регулярное выражение можно использовать во всех утилитах, работающих с РВ

145. Окружение - это

146. Операция "|" в shell

147. Основное направление развития проективных систем

148. Основное направление развития процедурных систем

149. Основные задачи ядра системы

150. Основные команды работы с файлами:

151. Основные функции shell

152. Особенность графических ресурсов в том, что они

153. Отсроченная передача данных возможна

154. Пакеты в типичной UNIX-системе

155. Перемещением, изменением размера и внешнего вида окон в X занимается

156. По возможностям редактор vim

157. Подстановка в shell - это

158. Поиск нужной страницы руководства происходит

159. Пользователь какого вида систем чаще выступает в роли посредника между машиной и заказчиком?

160. Понятие "терминал" может обозначать

161. Понятие "терминал" может обозначать

162. Понятие "терминал" может обозначать

163. Понятия "системная утилита" и "пользовательская утилита" в UNIX

164. Почему "login" может запустить shell "от лица" любого пользователя?

165. Правило "левый-длинный" говорит о том, что

166. Предписание в процедурной системе - это

167. Предписание в процедурной системе - это

168. При нажатии клавиши "c" в командном режиме vi произойдёт

169. При нажатии клавиши "d" в командном режиме vi произойдёт

170. При нажатии клавиши "y" в командном режиме vi произойдёт

171. При освоении проективной системы пользователю придётся

172. При редактировании командной строки и истории главное - это

173. При типичном использовании шаблона

174. Принцип гарантированных навыков требует, чтобы

175. Принцип информационной открытости требует, чтобы

176. Принцип минимизации затрат требует, чтобы

177. Принцип ограниченной осведомлённости требует, чтобы

178. Принцип перекрытия процедур требует, чтобы

179. Принцип умопостижимости контекста требует, чтобы

180. Причина частого применения регулярных выражений в UNIX

181. Проект в проективной системе - это

182. Проект в проективной системе - это набор данных, однозначно описывающий

183. Профиль (profile) командного интерпретатора - это

184. Процедура в процедурной системе - это

185. Прямое построение проекта означает

186. Псевдотерминал - это

187. Разделение времени - это

188. Разделение ресурсов - это

189. Расширенное регулярное выражение включает в себя понятие

190. Регулярное выражение состоит из

191. С точки зрения UNIX, сценарий - это

192. Сигнал - это

194. Сколько _способов_ доступа в файловой системе UNIX?

195. Сколько X-серверов может быть зарегистрировано на одном компьютере?

196. Сколько карманов у редактора vi?

197. Сложнее всего в UNIX-системе соблюсти

198. Создатели UNIX-систем рассчитывали

199. Стандартные каталоги UNIX подразделяются

200. Стартовый виртуальный диск (initrd) - это

201. Субъект-объектная модель на основе ACL

202. Субъект-объектная модель прав доступа используется для

203. Субъект-субъектная модель прав доступа используется для

204. Субъект-субъектная модель с множественным субъектом

205. Термин "стандартный ввод программы" обозначает

206. Термин "стандартный вывод ошибок программы" обозначает

207. Термин "стандартный вывод программы" обозначает

208. Термин "устройство" обозначает

209. Терминальная линия - это

210. Типичные командные интерпретаторы UNIX

211. Трёхуровневая схема позволяет

212. Укажите область применения, не характерную для проективных систем

213. Управление сеансами доступа используется для

214. Уровни выполнения - это

215. Утилита ed - это

216. Утилита ex - это

217. Утилита sed - это

218. Утилита vi - это

219. Файловая система - это

220. Фильтром в UNIX-системах называется

221. Фильтром в UNIX-системах называется

222. Фильтром в UNIX-системах называется

223. Функцию менеджера ресурсов в UNIX выполняет

224. Чего нельзя сделать в схеме загрузки FreeBSD?

225. Чем отличаются счётные и обменные задачи?

227. Число 11 в имени X11 - это

228. Что _однозначно_ определяет пользователя в UNIX?

229. Что делает команда mount?

230. Что находится в каталоге /etc/init. d в Linux-системе?

231. Что находится в каталоге /etc/rc3.d в Linux-системе?

232. Что не поддерживается в редакторе vim?

233. Что не поддерживается в редакторе vim?

234. Что не поддерживается в редакторе vim?

235. Что не характерно для командного интерпретатора?

236. Что нельзя сделать в схеме загрузки LILO?

237. Что полностью реализовано в UNIX?

238. Что такое "виртуальная память"?

239. Что такое "контекст задачи"?

240. Что такое "псевдопараллелизм"?

241. Что такое "псевдопользователь"?

242. Что такое инструментальная область человеческой деятельности?

243. Что такое прикладная область человеческой деятельности

244. Что такое человеко-машинная система?

245. Что характерно для командного интерпретатора?

246. Что характерно для командного интерпретатора?

247. Экранный редактор vi

248. Этапы процедуры трёхуровневой загрузки:

Developer Project предлагает поддержку при сдаче экзаменов учебных курсов Интернет-университета информационных технологий INTUIT (ИНТУИТ). Мы ответили на экзаменационные вопросы 380 курсов INTUIT (ИНТУИТ) , всего вопросов, ответов (некоторые вопросы курсов INTUIT имеют несколько правильных ответов). Текущий каталог ответов на экзаменационные вопросы курсов ИНТУИТ опубликован на сайте объединения Developer Project по адресу: http://www. dp5.su/

Подтверждения правильности ответов можно найти в разделе «ГАЛЕРЕЯ», верхнее меню, там опубликованы результаты сдачи экзаменов по 100 курсам (удостоверения, сертификаты и приложения с оценками).

Болеевопросов по 70 курсам и ответы на них, опубликованы на сайте http://www. dp5.su/, и доступны зарегистрированным пользователям. По остальным экзаменационным вопросам курсов ИНТУИТ мы оказываем платные услуги (см. вкладку верхнего меню «ЗАКАЗАТЬ УСЛУГУ». Условия поддержки и помощи при сдаче экзаменов по учебным программам ИНТУИТ опубликованы по адресу: http://www. dp5.su/

Примечания:

- ошибки в текстах вопросов являются оригинальными (ошибки ИНТУИТ) и не исправляются нами по следующей причине - ответы легче подбирать на вопросы со специфическими ошибками в текстах;

- часть вопросов могла не войти в настоящий перечень, т. к. они представлены в графической форме. В перечне возможны неточности формулировок вопросов, что связано с дефектами распознавания графики, а так же коррекцией со стороны разработчиков курсов.

Драйверы символьных устройств

При вводе команды поток символов в первую очередь интерпретируется драйвером символьного устройства. Какой именно драйвер работает, в каждом случае зависит от используемого оборудования (более подробные сведения см. в «Описании программы. Часть 1. Справочник по утилитам» КПДА.10964-01 13 01).

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

Режимы ввода

Драйверы устройств символьного ввода/вывода могут функционировать либо в режиме необрабатываемых ("сырых") входных данных (raw input mode), либо в каноническом режиме (canonical mode), или режиме редактируемых входных данных (edited input mode). В режиме "сырых" входных данных все символы передаются приложению по мере их ввода. В режиме редактируемых входных данных приложение получает символы только после завершения ввода всей строки (о чем, как правило, свидетельствует символ возврата каретки).

Поддержка терминалов

Некоторым программам (например, vi) требуется информация о том, какие действия может выполнять ваш терминал (возможно ли перемещение курсора, очистка экрана и т. д.). Переменная окружения TERM указывает на тип используемого терминала, а каталог /usr/lib/terminfo представляет собой базу данных терминалов. В этом каталоге содержится набор подкаталогов (от a до z), в которых хранится информация для соответствующего терминала. Некоторые приложения вместо каталога /usr/lib/terminfo используют каталог /etc/termcap, представляющий собой устаревшую однофайловую модель базы данных.

Терминалом по умолчанию является qansi-m (QNX-версия терминала ANSI). Более подробные сведения об установке типа терминала см. в подразд. "Типы терминалов" раздела 9.

Служба telnet

При использовании сетевой службы telnet для связи между двумя QNX-машинами (под управлением QNX 4 или QNX Neutrino), для активизации восьмибитового тракта данных следует задавать параметр -8. Если вы подключаетесь к машине с QNX Neutrino из машины, управляемой какой-либо другой ОС, и терминал при этом не работает надлежащим образом, завершите telnet и запустите эту утилиту снова с параметром -8.

Примечание . При запуске telnet из ОС Windows пользуйтесь режимом ansi или vt100, в зависимости от типа терминала.

Общие сведения о клавиатуре

В табл. 4.1 указано, как драйверы устройств символьного ввода/вывода интерпретируют нажатия различных клавиш и их сочетаний (т. е. групп одновременно нажатых клавиш). Драйверы обрабатывают нажатия клавиш сразу после их выполнения.

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




Top