Настройка Wi-Fi

Интерпретатор командной строки (shell). Выбор интерпретатора командной строки Linux

Интерпретатор командной строки (shell). Выбор интерпретатора командной строки Linux

В 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 услужливо выдавал Мефодию подсказку « > » - в знак того, что набор командной строки продолжается, но в режиме ввода содержимого кавычек.

Из книги Журнал «Компьютерра» N 33 от 12 сентября 2006 года автора Журнал «Компьютерра»

СОФТЕРРА: Высокохудожественный командный интерпретатор Автор: Илья ШпаньковКогда разговор заходит о растровых графических редакторах, абсолютное большинство людей в первую очередь вспоминает Adobe Photoshop. Сторонники свободного софта, конечно, не забудут упомянуть и

Из книги Давайте создадим компилятор! автора Креншоу Джек

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

19.7. Интерпретатор команд bash Интерпретатор команд - это программа, выполняющая команды пользователя. Стандартным интерпретатором (или оболочкой) является bash (Bourne Again Shell). Достаточно распространенными также являются следующие интерпретаторы: sh, ash, bsh, tcsh, csh, zsh. Список

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

16.2. Простой интерпретатор программ, управляемых образцами Для описания модулей, управляемых образцами, мы применим следующую синтаксическую конструкцию:ЧастьУсловия ---> ЧастьДействияЧасть условия представляет собой список условий:[ Условие1, Условие2, Условие3, ...]где

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Глава 4 TeamSpeak - командный разговор через компьютерную сеть Чем TeamSpeak отличается от TeamTalk Программа TeamSpeak очень уж похожа на TeamTalk: те же каналы, та же возможность работать как в Интернете, так и в локальной сети, выбор разнообразных кодеков по сжатию звука, клиент-серверный

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Глава 22 Командный интерпретатор bash 22.1. Что нужно знать о bash bash - это наиболее часто использующаяся командная оболочка (командный интерпретатор) Linux. Основное предназначение bash - выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу,

Из книги Операционная система UNIX автора Робачевский Андрей М.

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

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Командный интерпретатор shell Все современные системы UNIX поставляются по крайней мере с тремя командными интерпретаторами: Bourne shell (/bin/sh), С shell (/bin/csh) и Korn shell (/bin/ksh). Существует еще несколько интерпретаторов, например Bourne-Again shell (bash), со сходными функциями.Командный

Из книги UNIX - универсальная среда программирования автора Пайк Роб

Интерпретатор bourne shell Bourne shell является стандартным интерпретатором команд, который входит в состав всех систем UNIX и совместим с интерпретатором bash в Linux. В книге, посвященной shell–программированию и не привязанной к конкретной операционной системе, в качестве общего

Из книги автора

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

Из книги автора

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

При работе с FreeBSD, в большинстве случаях для выполнения повседневных задач используется командный интерфейс (так называемый ``шелл""), который принимает команды, которые ему подаются, и выполняет их. Многие командные интерпретаторы имеют встроенные средства выполнения наиболее часто используемых команд, например, операции над файлами и каталогами, редактирование командной строки, командные макросы и переменные окружения. Вместе с FreeBSD поставляется несколько командных интерпретаторов, например, sh, или Bourne Shell, и csh, иначе C-shell. Многие другие, более мощные, например, tcsh или bash, доступны в коллекции портов.Какой из командных интерпретаторов использовать? Это дело вкуса. Если Вы программируете на C, то Вам, возможно, понравится tcsh, а если Вы работали с Linux, то Вас скорее устроит bash, нежели что-либо другое. Каждый из названных интерпретаторов имеет свои особенные свойства, которые отличат его от других и, возможно, повлияют на Ваш выбор.Одна из наиболее часто используемых функций командного интерпретатора - дополнение частичного имени файла до полного. Вы можете набрать только первые несколько символов имени файла, нажать клавишу табуляции (TAB), и командный интерпретатор автоматически Например, у нас есть два фала, названные foobar и foo.bar . Допустим, мы хотим удалить файл foo.bar . Для этого, наберем на клавиатуре rm fo. .Вы увидите следующее: rm foo.bar .Здесь - это так называемый консольный звонок, сигнализирующий о том, что интерпретатор не в состоянии закончить имя файла, так как по введенным Вами символам невозможно однозначно идентифицировать файл. Например, имена файлов foobar и foo.bar оба начинаются с fo , но после нажатия TAB можно однозначно дополнить только до foo . Если же теперь ввести точку (.) и вновь нажать TAB, интерпретатор достроит имя файла целиком.При работе с любым командным интерпретатором, Вы столкнетесь с переменными окружения. Под переменной окружения понимается некоторая строка символов, идентифицируемая некоторым именем. Значение переменных окружения может быть прочитано любо программой, запущенной из командного интерпретатора, и часто содержит конфигурационные настройки для многих приложений и утилит. Ниже приведены некоторые наиболее часто встречающиеся переменные окружения с объяснением их значения:

Переменная Описание USER Имя текущего пользователя. PATH Каталоги, разделенные двоеточием, в которых производить поиск исполняемых файлов. DISPLAY Сетевое имя виртуального дисплея X11, если доступен для подключения. SHELL Текущий командный интерпретатор. TERM Название (тип) терминала. Используется, чтобы узнать возможности терминала. TERMCAP Список escape-последовательностей для управления различными функциями терминала. OSTYPE Название (тип) операционной системы. Например, FreeBSD. MACHTYPE Архитектура машины (процессора). EDITOR Предпочитаемый пользователем текстовый редактор. PAGER Предпочитаемая пользователем утилита просмотра файлов. MANPATH Каталоги, разделенные двоеточием, в которых производить поиск файлов системного справочника.

В зависимости от используемого командного интерпретатора, для просмотра и установки значений переменных окружения служат различные команды. Например, в интерпретаторах csh и tcsh это setenv . В sh и bash это set и export . В частности, чтобы установить или изменить значение переменной EDITOR (в csh или tcsh) равное /usr/local/bin/emacs , выполните команду: setenv EDITOR /usr/local/bin/emacs Если Вы используете bash: export EDITOR="/usr/local/bin/emacs" Чтобы получить значение переменной, например, в командной строке, поместите символ доллара ($) перед именем переменной. Например, команда echo $TERM выведет значение переменной $TERM .Командный интерпретатор воспринимает некоторые символы, называемые метасимволами, в качестве управляющих, несущих специальные функции. Одни из наиболее часто используемых - символ * , который заменяет любое количество символов в имени файла, и? , заменяющий один символ. Эти метасимволы используются для поиска файлов по маске, например, команда echo * выполняет практически тоже самое, что и команда ls , так как под маску * попадают все файлы из текущего каталога (на самом деле, это всегда так и зависит от командного интерпретатора, например, в bash под маску * не попадут файлы, начинающиеся с точки. - скрытые файлы).В некоторых ситуациях требуется, чтобы интерпретатор воспринимал метасимволы как обычные, не несущие специальной смысловой нагрузки. Этого можно достичь, поставив перед символом обратную косую черту (\). Например, команда echo $TERM выведет тип Вашего терминала, в то же время команда echo \$TERM выведет именно слово $TERM , а не значение переменной $TERM .

3.4.1. Как изменить командый интерпретатор по умолчанию

Самым простым, пожалуй, будет воспользоваться командой chsh . Если переменная EDITOR определена, то будет загружен текстовый редактор $EDITOR , иначе vi. Вам нужно будет изменить значение поля ``Shell:"" и выйти из редактора с сохранением результатов.Можно также воспользоваться опцией -s команды chsh . Например: % chsh -s /usr/local/bin/bash
Note: Помните, чтобы использовать некоторую программу в качестве командного интерпретатора, она должна быть обязательно упомянута в файле /etc/shells . Обычно, при установке интерпретаторов из дерева портов, это делается автоматически. Если же это не так, Вам нужно будет самим добавить соответствующую строчку в этот файл.Например, допустим, что Вы установили bash вручную, без использования соответствующего порта, и поместили его в каталог /usr/local/bin . В таком случае, можно набрать: # echo "/usr/local/bin/bash" >> /etc/shells Теперь можно смело использовать команду chsh .

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/

Примечания:

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

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

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

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

При работе с командной строкой для организации интерфейса используются специальные программы - командные интерпретаторы. Они принимают от пользователя выдаваемые им команды в виде строк текста, содержащих имена программы и параметры, с которыми эти программы следует выполнить, производят разбор полученных строк, запускают необходимые программы и передают пользователю их вывод - также строки текста. Всё взаимодействие пользователя с системой происходит через командный интерпретатор, поэтому его часто называют оболочкой (shell). Для выполнения типовых действий последовательности команд оказываются одинаковыми. Такие последовательности команд можно записать в текстовый файл и далее передать этот текстовый файл командному интерпретатору для выполнения. Такие текстовые файлы называются скриптами. Для запуска они должны иметь соответствующие права (флаг "x"). Командные интерпретаторы поддерживают условное выполнение команд (структуры if-then-else), циклы, создание и вызовы подпрограмм и т.п. Язык командного интерпретатора исключительно мощный и позволяет автоматизировать практически любую задачу в системе. Например, действия при загрузке системы осуществляются скриптами командного интерпретатора - начиная от /etc/rc.d/rc.sysinit, который, в свою очередь, вызывает большое количество других скриптов.

В системах *nix, в соответствии с их модульным построением, доступны несколько командных интерпретаторов. В-основном сейчас используется интерпретатор bash (/bin/bash).

Команды операционной системы представляют из себя небольшие программы, расположенные в каталогах /bin, /usr/bin, /sbin, /usr/sbin. В дальнейшем, говоря о командах, мы будем понимать под этим именно указанные программы.

Общий формат вызова команды выглядит следующим образом:

$ command -f --flag --key=parameter argument1 agrument2 ...

Здесь "$" - это приглашение операционной системы к вводу команды. Для обычных пользователей оно имеет вид "$", для суперпользователя (root) - "#". В дальнейшем для команд, которые требуют привилегий root, будет использоваться запись вида "# command".

command - имя команды. Для часто использующихся команд имена короткие, состоящие из 2-3 букв.

После имени команды, при необходимости, указываются ключи. Ключ - параметр команды, который влияет на результат её выполнения. Часто использующиеся ключи - короткие, односимвольные; для требующихся реже длинных ключей используются слова или сокращения. Короткие ключи начинаются с символа "-", длинные - с двух символов "-". Короткие ключи часто дублируются длинными - для повышения читабельности скриптов. После ключей может допускаться указание дополнительных параметров, для длинных ключей такие параметры принято записывать через знак "=". Несколько односимвольных ключей разрешается объединять вместе: например, вместо "$ ls -l -a" можно записать "$ ls -la".

Порядок ключей, как правило, не важен.

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

$ touch -- -file-with-

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

Обычно программы поддерживают несколько стандартных ключей. По ключу "-h" или "--help" выдаётся краткая справка о программе. По ключу "-v" или "--version" - её версия. Если краткой справки не достаточно, то можно вызвать описание программы в справочной системе. Для работы со справкой используется команда man (сокращение от "manual" - руководство). Команда man в качестве аргумента принимает имя команды или файла конфигурации, ищет и выводит на экран страницу справочного руководства. В справке, выдаваемой командой man, содержится информация о формате вызова программы, поддерживаемых ей ключах и параметрах, информация об авторах и лицензии программы, в ряде случаев - примеры использования, ссылки на сайты разработчиков с дополнительной документацией.

Для просмотра страниц руководства, не помещающихся на экране, следует использовать прокрутку клавишами перемещения курсором, "Page Up" и "Page Down". Пробел перемещает руководство на страницу вперёд. Для выхода из man и продолжения работы с системой следует нажать клавишу "q" (quit).

Часть программ, помимо руководств в формате "man", также имеют и более пространную документацию в формате "info" - с вызовом её через одноимённую утилиту.

В отличии от встроенной системы подсказки программ в операционной системе Windows, руководства man и info содержат полную подробную техническую информацию о работе команд.