Інтэрфейс каманднага радка

.]]
**Інтэрфейс каманднага радка** () — разнавіднасць тэкставага інтэрфейсу (CUI) паміж чалавекам і камп’ютарам, у якім інструкцыі камп’ютару даюцца пераважна праз увод з клавіятуры тэкставых радкоў (*каманд*), у UNIX-сістэмах магчыма ўжыванне мышы. Таксама вядомы пад назвай *кансоль*.

Інтэрфейс каманднага радка супрацьпастаўляецца сістэмам кіравання праграмай на аснове меню, а таксама разнастайным рэалізацыям графічнага інтэрфейсу.

Фармат вываду інфармацыі ў інтэрфейсе каманднага радка не рэгламентуецца; звычайна гэта таксама просты тэкставы ўвод, але можа быць і графічным, гукавым і іншым.

## Прызначэнне 
На прыладзе-кансолі, якая друкавала тэкст на паперы, інтэрфейс каманднага радка быў адзіным магчымым. На відэатэрміналах інтэрфейс каманднага радка ўжываўся праз такія прычыны:

* Невялікі расход памяці ў параўнанні з сістэмай меню.
* У сучасным праграмным забеспячэнні маецца вялікая колькасць каманд, многія з якіх патрэбны надзвычай рэдка. Таму нават у некаторых праграмах з графічным інтэрфейсам ужываецца камандны радок: набор каманды (пры ўмове, што карыстальнік ведае гэту каманду) ажыццяўляецца значна хутчэй, чым навігацыя па меню.
* Лагічнае пашырэнне інтэрфейсу каманднага радка — пакетны інтэрфейс. Яго сутнасць у тым, што ў файл звычайнага тэкставага фармату запісваецца паслядоўнасць каманд, пасля чаго гэты файл можна выканаць у праграме, што здзейсніць такі ж (не меншы) эфект, як калі б гэтыя каманды былі па чарзе ўведзены праз камандны радок. Прыклады — .bat-файлы ў DOS і Windows, shell-скрыпты ў Unix-сістэмах.

Калі праграмай цалкам ці амаль цалкам можна кіраваць камандамі інтэрфейсу каманднага радка і падтрымлівацца пакетны інтэрфейс, умелае спалучэнне інтэрфейсу каманднага радка з графічным прадстаўляе карыстальніку вялікія магчымасці.

## Фармат каманды 
Найбольш агульны фармат каманд (у квадратныя дужкі змешчаны неабавязковыя часткі):
: ``

Сімвал пачатку каманды можа быць самым розным, аднак часцей за ўсё для гэтай мэты ўжываецца касая рыса (`/`). Калі радок уводзіцца без гэтага сімвала, выконваецца нейкая базавая каманда: напрыклад, радок «Вітаю» у IRC эквівалентны ўводу «`/msg Вітаю`». Калі ж такой базавай каманды няма, сімвал пачатку каманды адсутнічае ўвогуле (як, напрыклад, у DOS).

Параметры каманд могуць мець самы розны фармат. У асноўным ужываюцца наступныя правілы:
* параметры падзяляюцца прабеламі (і аддзяляюцца ад назвы каманды прабелам)
* параметры, якія змяшчаюць прабелы, абрамляецца апострафамі (``) альбо двукоссямі (``)
* калі параметр ужываецца для абазначэння ўключэння якой-небудзь опцыі, прадвызначана выключанай, ён пачынаецца з касой рысы (`/`) альбо дэфіса (`-`)
* калі параметр ужываецца для ўключэння/выключэння якой-небудзь опцыі, ён пачынаецца (ці завяршаецца) знакам плюс альбо мінус (адпаведна для ўключэння ці выключэння)
* калі параметр указвае дзеянне з групы дзеянняў, прызначаных камандзе, ён не пачынаецца са спецыяльных сімвалаў
* калі параметр указвае аб’ект, да якога ўжываецца дзеянне каманды, ён не пачынаецца са спецыяльных сімвалаў
* калі параметр указвае дадатковы параметр якой-небудзь опцыі, то ён мае фармат `/опцыя:дадатковы_параметр` (замест касой рысы таксама можа ўжывацца дэфіс)

Напрыклад, у нейкай абстрактнай гульні можа быць такая каманда:
: `/map dm1 /skill:2`

* `/` — сімвал пачатку каманды
* `map` — назва каманды (пераход на другі ўзровень)
* `dm1` — абавязковы параметр (назва ўзроўню)
* `/skill:2` — дадатковы параметр (абазначэнне ўзроўню складанасці)

## Ужыванне 
Асноўныя галіны ўжывання інтэрфейсу каманднага радка:
* аперацыйныя сістэмы
* чаты
* камп’ютарныя гульні

### У аперацыйных сістэмах 
Асноўнае ўжыванне інтэрфейсу каманднага радка — інтэрфейс аперацыйнай сістэмы. У Windows мова каманднага радка не мае дакладнай стандартызацыі, аднак існуе стандарт каманднага радка POSIX і яго мадыфікацыя ў межах GNU.

### У камп’ютарных гульнях 
Першапачаткова кансоль у гульнях выкарыстоўвалася для адладкі.

Як толькі з’явіўся інтэрфейс каманднага радка, сталі з’яўляцца і гульні, якія ім карысталіся, асабліва актуальна гэта было на тых платформах, дзе больш складаныя інтэрфейсы (графічныя) немагчыма было рэалізаваць праз апаратныя абмежаванні.

Найбольш яркім прыкладам гульняў, якія ўжываюць інтэрфейс каманднага радка, могуць быць названы тэкставыя квэсты, а таксама сеціўныя шматкарыстальніцкія ролевыя гульні — MUD. Каманды ў такіх гульнях уводзяцца на так званай псеўданатуральнай мове.

У многіх графічных гульнях існуе кансоль для спрашчэння доступу да налад гульні, бо ў складаных гульнях рэалізаваць усе каманды праз сістэму меню нязручна. Першая такая гульня — Quake. Стандартная кнопка выкліку кансолі —  (тыльда); радзей '. Кансоль дазваляе ўносіць змены ў налады гульні аператыўней, чым меню — напрыклад, набраць `name Terminator` хутчэй, чым знайсці тое меню, у якім уводзіцца імя гульца, і ўвесці Terminator.

Таксама кансоль прапануе магчымасць змяняць налады прызначэння гарачых клавіш, што можа ўжывацца для падману праціўнік у шматкарыстальніцкіх гульнях, напрыклад, прапановай увесці каманду `unbindall`, якая скасуе ўсе гарачыя клавішы, у тым ліку адказныя за рухі гульца.

Інтэрфейс, які прапануецца модэрам, не заўсёды дазваляе змяняць меню; але ён заўсёды дазваляе дадаваць свае кансольныя каманды. Напрыклад, у DotA (мапе для гульні Warcraft III) рэжым гульні задае ўдзельнік, які гуляе сінімі, праз кансоль.

### У іншых праграмах 
* САПР
** AutoCAD
* тэкставыя рэдактары
** Vim
* Браўзеры
** Vimperator — пашырэнне для браўзера Firefox, якое дазваляе кіраваць ім, як рэдактарам Vim
* разнастайныя кліенты IRC

## Перавагі 
* Лёгкасць аўтаматызацыі. Shell script у UNIX-падобных сістэмах з’яўляецца паўнавартаснай інтэрпрэтаванай мовай праграмавання і здольны аўтаматызаваць любую сістэмную задачу. У Windows прысутнічае іх прымітыўны аналаг — пакетныя файлы, і больш магутны аналаг — powershell. Па сутнасці, гэта — найпрасцейшая праграмавальнасць. З графічным інтэрфейсам без падтрымкі праграмай каманднага радка зрабіць гэта амаль немагчыма.
* Можна кіраваць праграмамі, якія не маюць графічнага інтэрфейсу (напрыклад, вылучаны сервер).
* Любую каманду можна выклікаць малой колькасцю націскаў клавіш.
* Можна звяртацца да каманд для розных выканальных файлаў амаль імгненна і непасрэдна, у той час як у GUI патрэбна спачатку запусціць, а потым закрыць графічны інтэрфейс для кожнага выканальнага файла.
* Прагледзеўшы змест кансолі, можна паўторна ўбачыць прамільгнуўшае паведамленне, якое вы не паспелі прачытаць.
* Можна карыстацца аддаленым камп’ютарам з любой прылады, падключанай да Інтэрнэту ці лакальнай сеткі (ПК, субноўтбук, КПК, мабільны тэлефон, партатыўная гульнявая кансоль) без асаблівых выдаткаў трафіку (адзін кілабайт за сеанс).
* Адсутнасць дэталяў інтэрфейсу, такіх як пускавыя панэлі і рамкі акон, што пры роўнай раздзяляльнасці дазваляе змясціць значна больш тэксту на старонцы.

## Недахопы 
* Інтэрфейс каманднага радка не з’яўляецца «прыязным» для карыстальнікаў, якія пачалі знаёмства з камп’ютарам з графічнага рэжыму, з-за амаль адсутных магчымасцяў даследавання ().
* Патрэба вывучэння сінтаксісу каманд і запамінання скарачэнняў, што ўскладняецца тым, што кожная каманда можа мець свае ўласныя скарачэнні.
* Без аўтадапаўнення, увод доўгіх параметраў (у тым ліку са спецсімваламі) з клавіятуры можа быць цяжкім.
* Адсутнасць «аналагавага» ўводу. Напрыклад падбор гучнасці з дапамогай агучанага паўзунка дазваляе выставіць патрэбную гучнасць хутчэй, чым камандай накшталт `aumix -v 90`. (Аднак, агучаны паўзунок можа быць псеўдаграфічным, што было выканана ў большасці кансольных плэераў).

## Гл. таксама 
* bash
* Cmd.exe
* Графічны інтэрфейс карыстальніка

Катэгорыя:Тэкставы інтэрфейс
Катэгорыя:Інтэрфейс карыстальніка