====== CLI (Command-Line Interface) ====== **CLI** je textové prostředí, které přijímá vstupy od uživatele ve formě příkazových řádků a následně je předává operačnímu systému nebo aplikaci k vykonání. Výstupem je obvykle opět textová zpráva. I přes nástup grafických systémů zůstává CLI nepostradatelným nástrojem pro programátory, správce sítí a pokročilé uživatele. ---- ====== Jak CLI funguje? ====== Interakce probíhá v cyklu, který se často označuje jako **REPL** (Read-Eval-Print Loop): 1. **Prompt (Výzva):** Systém zobrazí krátký text (např. ''C:\>'' nebo ''$''), který signalizuje, že je připraven přijmout příkaz. 2. **Příkaz:** Uživatel napíše název programu a volitelné parametry. 3. **Provedení:** Shell (interpret) vyhledá program a spustí ho. 4. **Výstup:** Výsledek se vypíše na obrazovku a zobrazí se nový prompt. ---- ====== Hlavní výhody a nevýhody ====== ^ Vlastnost ^ Výhoda ^ Nevýhoda ^ | **Rychlost** | Zkušení uživatelé provádějí operace mnohem rychleji než klikáním. | Vyžaduje zapamatování názvů příkazů a jejich syntaxe. | | **Automatizace** | Příkazy lze řadit do skriptů a automatizovat opakující se úlohy. | Není intuitivní pro začátečníky (strmá křivka učení). | | **Zdroje** | Minimální nároky na paměť a procesor (vhodné pro servery). | Nemožnost (nebo obtížnost) zobrazení grafického obsahu. | | **Vzdálená správa** | Přes protokoly jako SSH lze snadno ovládat počítač na druhém konci světa. | Chyba v příkazu může mít okamžité a fatální následky. | ---- ====== Klíčové pojmy v CLI ====== * **Shell:** Program, který interpretuje příkazy (např. Bash v Linuxu, PowerShell ve Windows). * **Terminál:** Okno nebo zařízení, skrze které se shell zobrazuje. * **Argument/Parametr:** Dodatečné informace pro příkaz (např. v příkazu ''rm soubor.txt'' je ''soubor.txt'' argumentem). * **Pipe (Roura):** Mechanismus, který umožní poslat výstup jednoho příkazu jako vstup pro druhý (označuje se symbolem ''|''). ---- ====== Příklady běžných prostředí ====== * **Bash (Bourne Again Shell):** Standard pro systémy Unix a Linux. * **PowerShell:** Moderní, objektově orientované rozhraní od Microsoftu. * **CMD (Command Prompt):** Klasické textové rozhraní starších verzí Windows. * **Terminal (macOS):** Výchozí CLI prostředí pro systémy Apple. ---- ====== Proč je CLI stále důležité? ====== Většina moderní infrastruktury (servery, cloud, [[router|routery]]) běží bez připojeného monitoru a grafického rozhraní (tzv. **headless**). Správa těchto systémů probíhá výhradně přes CLI. Navíc nástroje pro vývojáře (Git, Docker, kompilátory) jsou primárně navrženy pro příkazovou řádku. ---- //Související pojmy: Shell, Bash, PowerShell, SSH, Skriptování, GUI, Operační systém.//