Интерфейс командной строки — разновидность текстового интерфейса человека и компьютера, в котором инструкции компьютеру даются только путём ввода с клавиатуры текстовых строк ( команд ). Также известен под названием консоль .
Интерфейс командной строки противопоставляется системам управления программой на основе меню , а также различным реализациям графического интерфейса .
Формат вывода информации в интерфейсе командной строки не регламентируется; обычно это также простой текстовый вывод, но может быть и графическим, звуковым и т.д.
Назначение
На устройстве-консоли , которое печатало текст на бумаге, интерфейс командной строки был единственным возможным. На видеотерминалах интерфейс командной строки применяется по таким причинам:
Небольшой расход памяти по сравнению с системой меню.
В современном программном обеспечении имеется большое число команд, многие из которых нужны крайне редко. Поэтому даже в некоторых программах с графическим интерфейсом применяется командная строка: набор команды (при условии, что пользователь знает эту команду) осуществляется гораздо быстрее, чем, например, навигация по меню.
Естественное расширение интерфейса командной строки — пакетный интерфейс. Его суть в том, что в файл обычного текстового формата записывается последовательность команд, после чего этот файл можно выполнить в программе, что возымеет такой же (не меньший) эффект, как если бы эти команды были по очереди введены в командную строку.
Если программа полностью или почти полностью может управляться командами интерфейса командной строки и поддерживает пакетный интерфейс, умелое сочетание интерфейса командной строки с графическим предоставляет пользователю очень мощные возможности.
Интерфейс командной стоки
Достоинства и недостатки
Достоинства
Недостатки
Интерфейс командной строки не является дружественным для начинающих.
Искать неизвестную команду по справочникам не менее сложно, чем отыскивать в меню нужную команду.
Ввод некоторых параметров с клавиатуры может быть затруднительным. Например, игроки часто украшают свои имена цифрами и спецсимволами, и ввести команду наподобие kick =-CooL-= [H3LL] без дополнительных средств бывает довольно сложно. А подбор громкости с помощью озвученного ползунка позволяет выставить подходящую громкость быстрее, чем из командной строки.
Если же в программе должен быть полноценный скриптовый язык , приходится либо поддерживать два разных языка (консольный и скриптовый), либо отказываться от командной строки в пользу скриптового языка, либо совмещать эти два языка (что отрицательно сказывается на удобстве программирования).
Любую команду можно вызвать небольшим количеством нажатий.
Пакетные файлы — это, по сути, простейшая программируемость.
Можно управлять программами, не имеющими графического интерфейса (например, выделенным сервером).
Просмотрев содержимое консоли, можно повторно увидеть промелькнувшее сообщение, которое вы не успели прочитать.
Интерфейс командной стоки
Формат команды
Наиболее общий формат команд (в квадратные скобки помещены необязательные части):
Символ начала команды может быть самым разным, однако чаще всего для этой цели используется косая черта ( / ). Если строка вводится без этого символа, выполняется некоторая базовая команда: например, строка « Привет » в IRC эквивалентна вводу « /msg Привет ». Если же такой базовой команды нет, символ начала команды отсутствует вообще (как, например, в DOS ).
Интерфейс командной стоки
Параметры команд могут иметь самый разный формат. В основном применяются следующие правила:
параметры разделяются пробелами (и отделяются от названия команды пробелом)
если параметр используется для обозначения включения какой-либо опции, выключенной по умолчанию, он начинается с косой черты ( / ) или дефиса ( - )
если параметр используется для включения/выключения какой-либо опции, он начинается (или заканчивается) знаком плюс или минус (для включения и выключения соответственно)
если параметр указывает действие из группы действий, назначенных команде, он не начинается со специальных символов
если параметр указывает объект, к которому применяется действие команды, он не начинается со специальных символов
если параметр указывает дополнительный параметр какой-либо опции, то он имеет формат /опция:дополнительный_параметр (вместо косой черты также может употребляться дефис)
Интерфейс командной стоки
Текстовый интерфейс
Текстовый интерфейс пользователя ( англ. Text user interface, TUI) — система средств взаимодействия пользователя с компьютером, основанная на использовании текстового ( буквенно - цифрового ) режима дисплея или аналогичных — например, командная строка .
Особенности текстового интерфейса
На программном уровне, для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода (stdin, stdout, stderr), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода, т.е. к их получению пользователем.
В простейшем случае, консольная программа использует интерфейс командной строки , однако, многие из них, с помощью управляющих последовательностей терминалов, создают более дружественный интерфейс, приближающийся к графическому (см. меню (информатика) ).
Некоторые консольные программы пригодны лишь для определённой реализации текстового интерфейса, например текстовые программы DOS . Однако, консольные программы для более продвинутых операционных систем , особенно UNIX , как правило, способны работать на достаточно широком классе реализаций интерфейса с пользователем. Для упрощения написания таких программ широко применяется библиотекаncurses .
Текстовый интерфейс
Реализация текстового интерфейса
В принципе, консольная программа не обязана заботиться о реализации самого взаимодействия с пользователем, ограничиваясь вводом-выводом на стандартные устройства, использованием библиотек типа ncurses или иных программных интерфейсов . Собственно взаимодействие с пользователем обычно осуществляет операционная система или иное программное обеспечение.
Классической реализацией текстового интерфейса, восходящей к первой половине XX века , является алфавитно-цифровое устройство ввода-вывода, например комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы , снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён, или может быть снабжён, почти каждый современный компьютер . Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши ) называются консолью компьютера.
В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно, взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в т.ч. подключенных через сеть , а также при помощи специальных программ- эмуляторов терминала, например рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).
Текстовый интерфейс
В 1970-х гг. и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру, напрямую или через модем .
С распространением персональных компьютеров функции текстового терминала как правило выполняет компьютер, тот на котором выполняется консольная программа или другой. Программы Telnet и ssh (а также PuTTY для Windows) позволяют пользователю взаимодействовать с консольной программой, запущенной на удалённом компьютере (как правило под управлением UNIX), через Интернет или локальную сеть .
Программы xterm , rxvt и konsole реализуют текстовый интерфейс посредством текстового окна в среде XWindow .
Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только) IBM PC под управлением DOS . Программа может не только выводить данные через stdout, но и прямо изменять содержимое определённой области памяти , связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде MicrosoftWindows . Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в т.ч. и для приложений собственно Windows.
Текстовый интерфейс
Оконный интерфейс
Око́нный интерфе́йс — способ организации полноэкранного интерфейса программы, в котором каждая интегральная часть располагается в окне — собственном суб-экранном пространстве, находящемся в произвольном месте «над» основным экраном. Несколько окон одновременно располагающихся на экране могут перекрываться, находясь «выше» или «ниже» друг относительно друга.
Хоть наиболее естественным для оконного интерфейса является графический режим, основные его элементы применимы и в текстовом режиме, где он применяется в равной степени.
Процедуры поддержки оконного интерфейса призваны отрисовывать экран c располагающимися «поверх него» окнами и разделять ввод пользователя между ними (при существовании нескольких равноправных окон ввод пользователя осуществляется в то, которое из них в данный момент является активным ).
Окно обычно имеет прямоугольную форму, с обрамлением и/или цветом фона, отличным от цвета основного экрана. При необходимости окно имеет заголовкок (с пояснением функции) и органы управления. Иногда используются различные эффекты для придания ощущения объемности интерфейса, в том числе:
« тени » — затемнение под окном со сдвигом (как правило, вправо-вниз, предполагая наличие света слева-сверху). В графическом режиме тени также могут отбрасывать другие элементы интерфейса, например курсор мыши;
создание иллюзии выпуклых и вдавленых структур - линий, надписей, пониженных или повышенных областей (например кнопок), рамок и т. п. линиями повышенной и пониженной яркости и полутоновыми переходами (для имитации криволиненых поверхностей);
полная или частичная ( полу- ) прозрачность окна — просвечивание сквозь «подложки» или других окон (применимо только в графическом режиме).
Некоторые окна (они называются модальными ) «монополизируют» фокус пользовательского внимания: работу с программой можно продолжить лишь после закрытия «модального» окна.
Оконный интерфейс очень быстро завоевал популярность и в настоящее время (отчасти — благодаря операционным системам с графическими оконными оболочками) является самым популярным видом программного интерфейса.