V dávných dobách sálových počítačů byl terminál monitor s klávesnicí jedním z vstup/výstupních zařízení stroje. Dnes je takový terminál software, který umožňuje využití příkazové řádky, celým jménem byste mohli místo terminál říkat emulátor terminálu. Na jednu stranu to zní jako něco strašně zastaralého, ale jsou tu výhody:
Grafické aplikace umožňují správu systému, ale tu řádka umožňuje a navíc líp
Řádka není tak proměnná jako grafické prostředí, co se naučíte dnes, s drobnými úpravami použijete i za 20 let.
Řádka umožňuje automatizaci správy.
Pomocí vzdálených připojení můžete pohodlně spravovat servery na mnoha různých místech.
… a taky spousta serverů vůbec grafické prostředí nemá.
V předchozím přehledu dávám dohromady výhody terminálu a shellu. Jak je oddělit? Terminál je jen to okno, ve kterém můžou být písmenka.
Shell
V terminálu běží shell, program, který umí interpretovat příkazy, spouštět další příkazy, je to i programovací jazyk.
Původní UNIXový terminál se jmenoval shell, sh. Z něho se odvodila spousta dalších shellů, většinou je snadno poznáte podle toho, že jejich jméno končí písmeny sh.
Původní shell sloužil pouze jako interpret příkazové řádky. Jeho nástupce, Bourne shell uměl i skriptovat, tedy umožňoval napsat textové soubory s příkazy. Když někde dnes uvidíte sh, jde o Bourne shell. Z něj vyšly další shelly, například csh (syntaxe podobnější jazyku c), ksh (Korn shell), zsh (uživatelé Maců zpozorní) nebo bash (Bourne again shell), který se usídlil v Linuxových systémech nejvíce.
V našem dalším konání se budem zabývat výhradně bashem. Jeho znalost vám nicméně velmi usnadní případnou práci v jiném shellu, asi jako vám znalost češtiny umožní rozumět Moravákům.
Příkazy a kde je najdu
To první, co píšu na každou příkazovou řádku, je příkaz. A co je to za příkaz a kde jej má najít, k tomu má bash jasný pořadník
alias: pomocí příkazu alias může být definovaný nějaký příkaz. Oblíbené místo, kde mám své aliasy, je soubor ~/.bashrc
funkce: při skriptování můžete psát funkce. Tak až si napíšete funkci, kterou pojmenujete for, vzpomeňte.
zabudovaný příkaz: několik málo příkazů je přímo zabudovaných do bashe. Z těch, které jsem již představila, třeba: cd, bg, fg, echo. Kompletní seznam najdete v příkaze man bash jako BASH BUILTIN COMMANDS skoro ke konci. Mimochodem, po přečtení tohoto manuálu budete obohacení více než po přečtení těchto skript.
cesta: Většina příkazů, které jsme doteď psali, spadá do této kategorie. Cesta je pro každého jiná a je definovaná v proměnné PATH. Vytisknout se dá příkazem echo $PATH. Když zjistíte, že máte oblíbený adresář pro skripty, můžete si jej do cesty přidat.
Není váš příkaz nic z toho? Pak jej musíte napsat s cestou, aby shell věděl, odkud má příkaz vzít.
Pokud si nainstalujete nový software a neobjeví se mezi spustitelnými programy, pak máte několik možností řešení. Asi nejrozumnější je vytvoření softlinku do souboru, který je v běžné cestě, do adresáře /usr/local/bin. Alias je taky ještě rozumná cesta, i když není příliš systematická. Když napíšete skript, který chcete často užívat, je vhodné místo pro něj někde u vás v adresáři se skripty a ten mít ve své spouštěcí cestě.