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

З пляцоўкі Вікіпедыя
Перайсці да: рух, знайсці
Вонкавы выгляд абалонкі bash

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

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

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

Прызначэнне[правіць | правіць зыходнік]

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

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

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

Фармат каманды[правіць | правіць зыходнік]

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

[сімвал_пачатку_каманды]імя_каманды [параметр_1 [параметр_2 […]]]

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

Параметры каманд могуць мець самы розны фармат. У асноўным ужываюцца наступныя правілы:

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

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

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

Ужыванне[правіць | правіць зыходнік]

Асноўныя галіны ўжывання інтэрфейса каманднага радка:

У аперацыйных сістэмах[правіць | правіць зыходнік]

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

У камп'ютарных гульнях[правіць | правіць зыходнік]

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

Файл:Tremulous console.png
Tremulous: Гулец рыхтуецца змяніць каманду

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

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

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

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

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

У іншых праграмах[правіць | правіць зыходнік]

Перавагі[правіць | правіць зыходнік]

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

Недахопы[правіць | правіць зыходнік]

  • Інтэрфейс каманднага радка не з'яўляецца "прыязным" для карыстальнікаў, якія пачалі знаёмства з камп'ютарам з графічнага рэжыму, з-за амаль адсутных магчымасцяў даследавання (англ.: discoverabililty).[2]
  • Патрэба вывучэння сінтаксісу каманд і памятання скарачэнняў, што ўскладняецца тым, што кожная каманда можа мець свае ўласныя скарачэнні.[2]
  • Без аўтадапаўнення, увод доўгіх параметраў (у тым ліку са спецсімваламі) з клавіятуры можа быць ускладненым.
  • Адсутнасць «аналагавага» ўводу. Напрыклад падбор гучнасці з дапамогай агучанага паўзунка дазваляе выставіць патрэбную гучнасць хутчэй, чым камандай накшталт aumix -v 90. (Аднак, агучаны паўзунок можа быць псеўдаграфічным, што было выканана ў большасці кансольных плэераў).

Гл. таксама[правіць | правіць зыходнік]

Зноскі