Командный интерфейс
Сущность командного интерфейса очень проста. ОС имеет некоторый командный язык – набор команд, каждая из которых записывается в виде слова или фразы и обозначает какое-то требуемое ОС действие. Реакция системы на команду представляет собой некоторое текстовое сообщение. Пользователь вводит команды с клавиатуры и наблюдает реакцию системы по сообщениям на терминале или ином устройстве текстового вывода.
Обычно команда представляет собой слово, значение которого в некоторой мере соответствует смыслу команды. Кроме имени команды, пользователь должен ввести параметры, если они необходимы, и указать режимы работы команды. Типичная команда ОС выглядит обычно следующим образом:
<команда> - <ключ1> - <ключ2>… <параметр1> <параметр2>…
Здесь <команда> - слово, обозначающее команду ОС, <параметр1> - слово, сообщающее команде некоторую переменную информацию, необходимую для выполнения, <ключ1> - слово, обозначающее один из предварительно заданных режимов работы команды. Символ «-» (минус), предваряющий ключи, используется как указатель на то, что следующее за ним слово является не параметром, а ключом. Помимо минуса для этой цели в некоторых системах используется символ «/» или два минуса подряд. Правила написания ключей и параметров команды зависят от принятых в ОС соглашений и от команды. Как правило, при создании командного языка стараются придерживаться некоторой общей системы, но, несмотря на это, одни и те же ключи в разных командах могут иметь совершенно различный смысл.
Например, рассмотрим команду языка операционной системы MS-DOS:
Dir *.txt /p /o : n
Эта команда требует от ОС вывести на стандартное устройство отображения (обычно терминал) содержимое текущего каталога (об этом говорит имя команды – dir). При этом должны быть выведены имена только тех файлов, имя которых подходит под маску «*.txt» (параметр «*.txt»), то есть содержащие любую последовательность символов, которая заканчивается на «.txt». необходимо делать паузу после вывода каждого полного экрана текста (этот режим задает ключ «/p»). При выводе необходимо сортировать файлы по именам (ключ «/o : n»). Здесь, как очевидно из описания, «dir» - название команды, «*.txt» - параметр, а «/p» «/o:n» - ключи.
Достоинством командного интерфейса является возможность практически неограниченно наращивать командный язык, добавляя новые команды и практически не увеличивая при этом видимую сложность системы. Кроме того, ОС всегда предоставляет возможность написания программ на командном языке системы (обычно их называет скриптами или пакетными файлами). Как правило, в командном языке есть конструкции, позволяющие организовать ветвление и циклы, поэтому пакетный файл может быть полноценной программой. С помощью таких программ можно сконструировать собственные команды и заставить систему по одной команде пользователя самостоятельно выполнять сложные последовательности программ и системных команд, зависящих от указанных входных данных.
Недостатком интерфейса текстовых команд является то, что командный язык обычно достаточно сложен для пользователя-непрограммиста и его изучение требует определенных затрат времени и усилий. Впрочем, эти трудности не стоит переоценивать. Практика показывает, что большинство непрофессионалов обучаются работе с командным интерфейсом достаточно быстро.