Príkazový riadok

**Príkazový riadok** (tiež *CLI*, čo je skratka *Command Line Interface*) predstavuje používateľské rozhranie, pri ktorom užívateľ komunikuje s programom alebo operačným systémom prostredníctvom textových príkazov. V najjednoduchšej podobe program zobrazí prompt, užívateľ zapíše príkaz nasledovaný parametrami, riadok ukončí a program príkaz vykoná.

CLI je často nesprávne stotožňované s textovým režimom. Textový režim je spôsob výstupu na obrazovku a je v ňom možné využívať množstvo iných rozhraní, napr. (textové) menu, v ktorých sa užívateľ pohybuje pomocou šípok alebo myši. Príkladom textového režimu môže byť teletext bežnej televízie.

Príkazový riadok je dobre známy z operačného systému Microsoft DOS a z príkazového interpretera command.com, prípadne z rôznych shellov v unixovom prostredí. Použitie je však výrazne širšie a výsledkom ovládania CLI môžu byť aj grafické výstupy. Príkladom môže byť napr. CAD systém AutoCAD, MATLAB a prostredie pre štatistické výpočty S a R.

## Prompt

Prompt indikuje, že príkazový riadok je pripravený na spracovanie ďalšieho príkazu. Obyčajne to býva nejaká užitočná informácia nasledovaná znakom >, $ alebo #. Ak užívateľ pracuje v zvláštnom režime, napr. ako administrátor, býva prompt ukončený iným znakom, ktorý na túto skutočnosť upozorňuje.

V unixovom shelli, ale i v MS-DOS a Windows je možné prompt nadefinovať podľa potrieb (premennou PS1 a PS2, resp. príkazom „prompt“).

Príklad:
 C:\>

## Príkazy
Príkazy zadávané v príkazovom riadku majú často tvar

 [robNieco] [ako] [doSuboru]

alebo

 [robNieco] [ako]  [vystupnySubor]

príklad: copy all from:C:\ to:C:\Program files\CMD

## Výhody príkazového riadku

Hoci noví užívatelia sú bežne schopní naučiť sa pracovať s grafickým rozhraním, správne vytvorené textové rozhranie s príkazovým riadkom má množstvo výhod:

* Skúsení užívatelia sú schopní používať pre množstvo úloh príkazový riadok rýchlejšie ako grafické rozhranie.

* Možnosti a operácie je možné vyvolať v ustálenej forme, bežne sú len jeden krok od základného príkazu. Vo väčšine grafických rozhraní sa dostupné operácie a možnosti nachádzajú ako možnosti menu, ktoré sa program od programu líšia. Tiež je väčšia pravdepodobnosť, že sa nenachádzajú na rovnakej úrovni menu (môžu byť súčasťou podmenu a podobne). Rôzne aplikácie majú teda rozdielne naprogramované možnosti, čo zdržuje a môže byť na ťarchu.

* Všetky možnosti a operácie by mali byť vykonateľné a kontrolovateľné vo viac-menej podobnom štýle. „Viac-menej“ je v tomto prípade bežnou výčitkou voči CLI - *malo* by byť rovnako jednoduché porozumieť a vykonať bežne používaný príkaz ako vzácne používaný príkaz, no v skutočnosti si niekedy vykonanie neznámeho príkazu vyžaduje naštudovať novú syntax. Každopádne len málo grafických rozhraní ponúka podobnú jednoduchosť prístupu k celému spektru možností programu.

* Príkazový riadok môže byť často použitý ako skriptovací programovací jazyk a môže vykonávať operácie v dávkach bez zásahu užívateľa. To značí, že ak je operácia zanalyzovaná a pochopená, môže byť vytvorený a uložený „skript“, ktorý reprezentuje túto operáciu. Takáto operácia môže byť neskôr kedykoľvek vykonaná bez ďalšieho úsilia. V grafickom prostredí musí užívateľ začať stále od začiatku, keďže skriptovanie v GUI (ak je vôbec dostupné) je takmer vždy zložitejšie a obmedzenejšie; hoci makrá môžu byť niekedy použité podobne. Jednoduché príkazy si ani nevyžadujú skriptovanie, keďže vytvorenému príkazu môže byť priradený alias a príkaz môže byť vykonaný vpísaním aliasu do príkazového riadka.

* Klávesnica je často precíznejším vstupným zariadením ako myš. Dokonca ľudia, ktorí nemajú skúsenosti s klávesnicou sú schopní 20-krát po sebe vpísať postupnosť „abcde“ bez chyby, pričom je neobyčajne zložité hoci len dvakrát po sebe zopakovať rovnaký pohyb myšou. Na dôvažok, chyby v písaní je možné rýchlo odstrániť stlačením klávesy *backspace* albo *delete* pred tým, ako je príkaz odoslaný na vykonanie, pričom možnosti odstrániť chyby spôsobené myšou sú vo všeobecnosti ponechané na výstrednostiach toho-ktorého programu. Niektoré príkazové jazyky tiež umožňujú návrat k predchádzajúcim príkazom, ich úpravu alebo opravu a následné znovuvykonanie. Preto je možné spoľahlivejšie riadiť počítač prostredníctvom klávesnice.

* Rozhranie príkazového riadku si vyžaduje omnoho nižšiu prenosovú rýchlosť pri vzdialenom ovládaní. CLI môže bežať cez 9600 baudový sériový port, pričom GUI potrebuje preniesť omnoho viac dát za rovnaký čas. Rovnako, CLI spotrebúva omnoho menej systémových prostriedkov ako GUI (napr. procesorový čas a pamäť).

## Nevýhody príkazového riadku

* Kým môžu byť využité všetky spomenuté výhody príkazového riadku, užívateľ si musí osvojiť znalosť príkazov, príkazových štruktúr a možností. Trvá to omnoho dlhšie a vyžaduje si to viac úsilia ako osvojenie si práce s GUI.

* GUI často ponúka možnosti a dáva užívateľovi možnosť rozhodnúť sa medzi nimi, alebo prinajmenšom ponúka náznak aký typ vstupu by mal byť použitý, CLI ponúka len prázdny prompt a predpokladá, že užívateľ príkaz ovláda.

* Príkazový riadok vyžaduje, aby si užívateľ vybavil, či má robiť a nie len rozpoznal, čo má robiť, čo je pre človeka omnoho prirodzenejší spôsob interakcie s okolím.

* CLI má strmšiu krivku učenia ako GUI; viac času a úsilia musí byť vynaloženého na naučenie základov kým je možné efektívne vykonávať základné úlohy, preto je CLI nevhodné pre začiatočníkov.

* Kritici tvrdia, že rozhranie príkazového riadku je využívané tvorcami programov kvôli ich neschopnosti alebo nedostatku motivácie vytvoriť kompletné grafické rozhranie. Namiesto vytvorenia úplného grafického prostredia, vývojári niekedy vytvoria len základné funkcie a potom umožnia prístup k ďalším nízkoúrovňovým funkciám prostredníctvom príkazového riadku.

* Príkazový riadok je nevhodný na niektoré špecifické úlohy, napr. úpravu grafických súborov.

## Referencie

## Pozri aj
* Grafické používateľské rozhranie

Kategória:Používateľské rozhranie