===== Práce v příkazové řádce =====
Příkazová řádka je uživatelské rozhranní, ve kterém uživatel komunikuje s počítačem podobně jako při psaní programu, tj. píše příkazy, které počítač vykonává tak, jako když programátor píše program (recept), který následně spustí.
V případě přímého ovládání počítače a interakce s operačním systémem je využito interaktivního režimu, ve kterém počítač reaguje na každý příkaz, který je v příkazové řádce napsán a odeslán počítači ke zpracování klávesou "''Enter''".
Data jsou v počítači uložena ve formě souborů, k nímž je přístup uživatelů zprostředkován operačním systémem. Proto základní práce s počítačem spočívá v interakci s operačním systémem a práci se soubory.
Výhodou ovládání počítače sekvencí příkazu je opakovatelnost, neboť se vlastně jedná o textový zápis operací podobně jako při psaní programu. Vlastně tak programujeme i pře běžném používání, zlvášťě pokud přidáme i podmíněné vykonávání příkazu a cykly.
Takový zápis lze uložit do souboru a posleze replikovat, nebo vytvořit skript, který lze následně opakovaně spouštět a tím vlastně vytvořit nový příkaz. Pro inspiraci a pochopení základních principů se můžete podívat na historický snímek https://www.youtube.com/watch?v=tc4ROCJYbm0
Příkazová řádka je přítomna ve všech operačních systémech. Ve Windows je příkazová řádka přístupna pomocí programu **cmd.exe** nebo modernější varianty **PowerShell.exe**, případně alternativou Z-shell. Na systémech unixového typu běží příkazová řádka
jako tzv. shell dostupný buď přímo v textovém režimu, nebo přes emulátory z grafického rozhranní (na Linuxu **Xterm, Gnome terminal, Konsole ...**, na OS X **terminal**). Příkazová řádka umožňuje základní ovládání operačního systému (procházení adresářové struktury, práce se soubory, vyhledávání ...), poskytuje rozhranní uživatelským programům a hlavně umožňuje řetězit vstupy a výstupy jednotlivých programů.
Velkou výhodou vývojového prostředí VS Code je integrace příkazové řádky do okna prostředí spolu s editačním oknem případně náhledem na existující soubory a to i v prostředí založené na aplikace v jediném grafickém okně.
==== Typická struktura příkazu ====
''prikaz [přepínače] [parametry|argumenty|jména souboru(ů)]''
==== Příkazy navigace v adresářové struktuře ====
^ Příkaz ^ Používané přepínače ^ Význam ^
|''ls''| -l -t | vypíše obsah aktuálního pracovního adresáře (//**l**i**s**t directory contents//) |
|''cd''| | změní aktuální pracovní adresář (//**c**hange **d**irectory//) |
|''pwd''| | vypíše absolutní adresu aktuálního pracovního adresáře (//**p**rint **w**orking **d**irectory name//)|
|''tree''| | vypíše strukturu aktuálního pracovního adresáře včetně podadresářů formou stromu|
==== Příkazy práce se soubory a adresáři ====
^ Příkaz ^ Používané přepínače ^ Význam ^
|''mkdir''| | Vytvoří adresář zadaného jména (//**m**a**k**e **dir**ectories //)|
|''cp''| -r | Zkopíruje soubor zadaného jména (//**c**o**p**y files//)|
|''mv''| | Přesune (přejmenuje) soubor zadaného jména (//**m**o**v**e files//)|
|''rm''| -r -f | Odstraní soubor zadaného jména (//**r**e**m**ove directory entries//)|
|''touch''| | Vytvoří soubor zadaného jména, pokud takový existuje, jinak aktualizuje tzv. //modification time//. |
Drtivá většina příkazů má typicky vestavěnou manuálovou stránku, např. ''man touch'', případně návod ''touch ----help''.
==== Ostatní důležité příkazy ====
^ Příkaz ^ Používané přepínače ^ Význam ^
|''man''| | Vypíše manuálovou stránku zadaného příkazu. |
|''find''| | Vyhledá soubor zadaného jména v aktuálním adresáři.|
|''locate''| | Jako ''find'', ale hledá v kompletní adresářové struktuře vytvořené databáze. |
|''cat''| | Vypíše obsah souboru jako text |
|''echo '' | | Vypíše obsah argument na standardní výstup, např. návratovou hodnota posledního příkazu ''echo $?'' nebo proměnná prostředí ''echo $HOME'' nebo ''echo $PWD''.|
|''hexdump''| -C | Vypíše obsah souboru v hexadecimálním tvaru doplněný o adresy paměti. |