Shell

Shell je program, který přijímá příkazy od uživatele (z klávesnice) a předává je operačnímu systému k provedení. Existují dva základní typy:

CLI (Command Line Interface): Textové rozhraní (příkazová řádka).

GUI (Graphical User Interface): Grafické rozhraní (okna, ikony), které je technicky také shellem (např. Windows Shell či GNOME).

V technickém kontextu se však slovem „shell“ téměř vždy rozumí právě textové rozhraní.

1. Jak Shell funguje?

Shell pracuje v cyklu zvaném REPL (Read-Eval-Print Loop):

1. **Read:** Přečte příkaz, který uživatel napsal.
2. **Eval:** Vyhodnotí příkaz (najde program, zpracuje proměnné).
3. **Print:** Vypíše výstup programu na obrazovku.
4. **Loop:** Čeká na další příkaz.

2. Nejpoužívanější typy Shellů

Název	Charakteristika	Platforma
Bash (Bourne Again SHell)	Standard v Linuxu a macOS. Velmi populární.	Linux, macOS
Zsh (Z Shell)	Moderní verze Bashe s mnoha vylepšeními (autodoplňování).	macOS (výchozí)
PowerShell	Objektově orientovaný shell od Microsoftu.	Windows, Linux
Fish	Zaměřený na uživatelskou přívětivost a barvy „out of the box“.	Linux, macOS

3. Shell Scripting (Skriptování)

Jednou z největších sil shellu je možnost psát skripty. To jsou textové soubory obsahující sérii příkazů, které se provedou postupně.

Využití skriptů:

Automatizace zálohování dat.

Hromadná instalace softwaru.

Zpracování logů (často v kombinaci s sed a awk).

Nasazování modelů v rámci MLOps.

4. Klíčové koncepty

Pipes (Roury): Umožňují propojit výstup jednoho programu se vstupem druhého (např. ls | grep „test“).

Environment Variables: Proměnné prostředí, které ovlivňují chování systému (např. PATH určuje, kde shell hledá programy).

Standard Streams:

stdin (0): Standardní vstup (klávesnice).

stdout (1): Standardní výstup (obrazovka).

stderr (2): Standardní chybový výstup.

5. Shell vs. Terminál

Tyto pojmy se často pletou:

Terminál (Emulátor terminálu): Okno, které vidíte (např. iTerm2, Windows Terminal). Je to jen „obrazovka“ a „klávesnice“.

Shell: Program běžící „uvnitř“ terminálu, který zpracovává příkazy.

Zajímavost: První unixový shell se jmenoval Thompson shell a vznikl v roce 1971. Od té doby se principy práce v příkazové řádce téměř nezměnily, což svědčí o neuvěřitelné efektivitě tohoto konceptu.

Zpět na Linux