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

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

Командная строка состоит из имени команды (то есть имени выполняемого фай­ла), за которым следует список аргументов, разделённых пробелами. Оболочка разбивает командную строку на компоненты. Указанный в команде файл загружается, и ему обеспечивается доступ к заданным в команде аргументам.

Любой командный язык семейства shellфактически состоит из трёх частей:

 служебных конструкций, позволяющих манипулировать с текстовыми строками и строить сложные команды на основе простых команд;

 встроенных команд, выполняемых непосредственно интерпретатором команд­ного языка;

 команд, представляемых отдельными выполняемыми файлами.

В свою очередь, набор команд последнего вида включает стандартные команды (системные утилиты, такие как vi,ccи т. д.) и команды, созданные пользователями системы. Для того чтобы выполняемый файл, разработанный пользовате­лем ОСUNIX, можно было запускать как командуshell, достаточно определить в одном из исходных файлов функцию с именемmain(имяmainдолжно быть глобальным, то есть перед ним не должно указываться ключевое словоstatic). Если употребить в качестве имени команды имя такого выполняемого файла, команд­ный интерпретатор создаст новый процесс и запустит в нём указанную выпол­няемую программу, начиная с вызова функцииmain.

Тело функции main, вообще говоря, может быть произвольным (для интерпрета­тора существенно только наличие входной точки в программу с именемmain), но для того, чтобы создать команду, которой можно задавать параметры, нужно придерживаться некоторых стандартных правил. В этом случае каждая функцияmainдолжна определяться с двумя параметрами –argcиargv. После вызова ко­манды параметруargcбудет соответствовать число символьных строк, указан­ных в качестве аргументов вызова команды, аargv– массив указателей на пе­ременные, содержащие эти строки. При этом имя самой команды составляет первую строку аргументов (то есть после вызова значениеargcвсегда больше или равно 1). Код функцииmainдолжен проанализировать допустимость задан­ного значенияargcи соответствующим образом обработать заданные текстовые строки.

Например, следующий текст на языке С может быть использован для создания команды, которая выводит на экран текстовую строку, заданную в качестве её аргумента:

#include

main(argc, argv)

printf(“usage: %s your-text\n”, argv);

printf(“%s\n”, argv);

Процессы

Процесс в ОС UNIXпонимается в классическом смысле этого термина, то есть как программа, выполняемая в собственном виртуальном адресном пространст­ве. Когда пользователь входит в систему, автоматически создается процесс, в ко­тором выполняется программа командного интерпретатора. Если командному интерпретатору встречается команда, соответствующая выполняемому файлу, то он создает новый процесс и запускает в нём соответствующую программу, начи­ная с функцииmain. Эта запущенная программа, в свою очередь, может создать процесс и запустить в нём другую программу (она тоже должна содержать функ­циюmain) и т. д.

Для образования нового процесса и запуска в нём программы используются два системных вызова API–fork() и ехес(имя_выполняемого_файла). Системный вызовforkприводит к созданию нового адресного пространства, состояние которого абсолютно идентично состоянию адресного пространства основного процесса (то есть в нём содержатся те же программы и данные). Для дочернего процесса заво­дятся копии всех сегментов данных.

Другими словами, сразу после выполнения системного вызова forkосновной (родительский) и порожденный процессы являются абсолютными близнецами;

управление и в том и в другом находится в точке, непосредственно следующей за вызовом fork. Чтобы программа могла разобраться, в каком процессе она те­перь работает – в основном или порождённом, функцияforkвозвращает разные значения: 0 в порождённом процессе и целое положительное число (идентифи­катор порождённого процесса – так называемыйPID) в основном процессе.

Теперь, если мы хотим запустить новую программу в порождённом процессе, нужно обратиться к системному вызову ехес, указав в качестве аргументов вызо­ва имя файла, содержащего новую выполняемую программу, и, возможно, одну или несколько текстовых строк, которые будут переданы в качестве аргументов функции mainновой программы. Выполнение системного вызова ехес приводит к тому, что в адресное пространство порожденного процесса загружается но­вая выполняемая программа и запускается с адреса, соответствующего входу в функциюmain. Другими словами, это приводит к замене текущего программно­го сегмента и текущего сегмента данных, которые были унаследованы при вы­полнении вызоваfork, на новые соответствующие сегменты, заданные в файле. Прежние сегменты теряются. Это эффективный метод смены выполняемой про­цессом программы, но не самого процесса. Файлы, уже открытые до выполнения примитива ехес, остаются открытыми после его выполнения.

В следующем примере пользовательская программа, вызываемая как команда shell, выполняет в отдельном процессе стандартную командуshellls, которая выдаёт на экран содержимое текущего каталога файлов.

if (fork ()==(0) wait(0); /* родительский процесс */

else execl("ls", "Is", 0); /* порождённый процесс */

Таким образом, с практической точки зрения процесс в UNIXявляется объектом, создаваемым в результате выполнения функцииfork(). Каждый процесс, за исключением начального (нулевого), порождается в результате запуска дру­гим процессом операции fork(). Каждый процесс имеет одного родителя, но мо­жет породить много процессов. Начальный (нулевой) процесс является особенным процессом, который создается в результате загрузки системы. После порожде­ния нового процесса с идентификатором 1 нулевой процесс становится процес­сом подкачки и реализует механизм виртуальной памяти. Процесс с идентифика­тором 1, известный под именемinit, является предком любого другого процесса в системе и связан с каждым процессом особым образом.

В этом разделе описаны команды и символы, имеющие специальное значение, которые позволяют:

  • - находить с помощью шаблона и манипулировать группами файлов;
  • - запускать команду в фоновом режиме или в определенное время;
  • - выполнять последовательно группу команд;
  • - перенаправлять стандартные ввод и вывод;
  • - завершать работающие программы.

Интерпретатор SHELL является оболочкой всей операционной системой и выполняет интерфейсные функции между пользователем и ОС. Он перехватывает и интерпретирует все команды пользователя, формирует и выводит ответные сообщения.

Помимо запуска на выполнение стандартных команд UNIX и исполняемых файлов, интерпретатор включает собственный язык, который по своим возможностям приближается к высокоуровневым языкам программирования. Этот язык позволяет создавать программы (shell-файлы, скрипты), которые могут включать операторы языка и команды UNIX. Такие файлы не требуют компиляции и выполняются в режиме интерпретации, но они должны обладать правом на исполнение (устанавливается с помощью команды chmod ).

Общение пользователя с командным интерпретатором осуществляется вводом команд с клавиатуры после появления промпта (приглашения), обычно, символа "$". Введенную последовательность символов интерпретатор будет рассматривать либо как имя внутренней команды, либо как имя исполняемого файла.

Процедуре (скрипту) shell могут быть переданы аргументы при запуске. Каждому из первых девяти аргументов ставится в соответствие позиционный параметр от $1 до $9 ($0 - имя самой процедуры), и по этим именам к ним можно обращаться из текста процедуры.

Прежде, чем начать рассмотрение некоторых операторов shell, следует обратить внимание на использование в командах некоторых символов.

Ниже приведены метасимволы, используемые shell :

* ? - позволяют указывать сокращенные имена файлов при поиске по шаблону;

& - означает, что команда будет выполняться в фоновом режиме;

; - разделяет команды в командной строке;

Отменяет специальное значение символов, таких как *, ?, [, ], &, ;, <,

"..." - отменяют значение пробела как разделителя и специальное значение

всех символов;

"..." - отменяют значение пробела как разделителя и специальное значение всех символов, за исключением $ и;

> - перенаправляет вывод команды в файл;

< - перенаправляет ввод команды из файла;

>> - перенаправляет вывод команды, который должен быть добавлен в

конец существующего файла;

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

`...` - используется в паре; позволяет использовать вывод команды как

аргументы в командной строке;

$ - используется с позиционными параметрами и определенными поль-

зователем переменными, также используется по умолчанию в

качестве подсказки shell .

Кроме того, для удобства работы с файлами почти все командные интерпретаторы интерпретируют символы "?" и "*", используя их как шаблоны имен файлов (т.н. метасимволы ):

  • ? - один любой символ;
  • * - произвольное количество любых символов.

Например: *.c - задает все файлы с расширением "c";

pr???.* - задает файлы, имена которых начинаются с "pr", содержат пять символов и имеют любое расширение.

Переменные языка shell

Язык shell позволяет работать с переменными (без предварительного объявления). Имена переменных начинаются с буквы и могут включать буквы и цифры. Обращение к переменным начинается со знака "$".

Пример. Переход к начальному каталогу пользователя: cd $HOME

Оператор присваивания . Присвоение значений переменным осуществляется с помощью оператора `=" без пробелов.

При работе с 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/

Примечания:

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

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

Статьи по теме: