Příkazový řádek v Unixu

Z Milan Kerslager
Verze z 15. 9. 2011, 07:03, kterou vytvořil Milan.Kerslager (diskuse | příspěvky) (Česká klávesnice: složené závorky)
Přejít na: navigace, hledání

Příkazový řádek slouží k nejjednoduššímu způsobu komunikace s unixovým serverem. Když u počítače přímo sedíme (u tzv. konzole), můžeme před sebou mít textové rozhraní nebo si v grafickém uživatelském prostředí (GUI) spustíme program xterm (gnome-terminal, kterminal). Také můžeme být připojeni z jiného počítače pomocí terminálové emulace (PuTTY, SSH).

Ovládání konzole v Linuxu je v samostatném článku.

TODO

Pohyb kurzoru

Pro pohyb v rámci příkazového řádku lze využít kurzorové klávesy. Pokud nefungují, máte pravděpodobně špatně nastavený terminál (např. PuTTY). Klávesy nahoru a dolu umožňují listovat v historii příkazů, která se ukládá do souboru při odhlášení (obvykle ~/.bash_history). Šipky vlevo a vpravo pak slouží k pohybu na příkazovém řádku v rámci napsaných znaků.

Normálně by měla fungovat i klávesa Backspace a Delete. Pokud nefungují, lze použít kombinace s klávesou CTRL (viz níže).

Klávesa CTRL

CTRL + Výsledek
c Přerušení běhu programu, na příkazovém řádku přerušení zadávání příkazu
d Ukončení vstupu (odhlášení, je-li to první znak, uprostřed řádku jako Delete)
r Hledání v historii směrem dozadu podle vloženého řetězce (opakování hledání)
l Překreslení obrazovky (u celoobrazovkové aplikace, v promptu smazání obrazovky)
s Pozastavení výstupu na terminál
q Pokračování výstupu na terminál
a Skok na začátek řádku
e Skok na konec řádku
h Smazání znaku jako klávesou Backspace
w Smazání celého slova vlevo od kurzoru
b Posun kurzoru na předcházející znak (jako šipka vlevo)
n Posun kurzoru na následující znak (jako šipka vpravo)
p Předchozí příkaz v historii (jako šipka nahoru)
w Následující příkaz v historii (jako šipka dolu)

Automatické dokončování

Shell umí dokončovat započaté názvy příkazů nebo souborů pomocí klávesy TAB. V následujícím příkladu je tučně zvýrazněn vstup od uživatele:

cat /p<TAB>
cat /proc/c<TAB><TAB>
cmdline  cpuinfo  crypto
cat /proc/cp<TAB>
cat /proc/cpuinfo

Uživatel nejprve napsal cat /p. Po stisku klávesy <TAB> byl zápis automaticky doplněn na existující adresář cat /proc/. Uživatel připsal znak c a opět stiskl klávesu <TAB>. Systém nevypsal nic a ozvalo se pípnutí, protože nelze jednoznačně pokračovat. Po druhém stisknutí klávesy <TAB> vypsal systém všechny možnosti (cmdline cpuinfo crypto). Uživatel připsal znak p a po stisknutí klávesy <TAB> již systém doplnil na cat /proc/cpuinfo.

Česká klávesnice

Při používání příkazového řádku narazíme na problém, jak zapsat znaky z anglické klávesnice. Běžně se používá přepínání mapy klávesnice (ve Windows pomocí kombinace kláves ALT+SHIFT), avšak dost často se budou mapy plést. Pro uživatele, kteří preferují českou programátorskou klávesnici (QWERTY) je tak lepší používat pravé klávesy ALT (tzv. AltGr), která umožňuje zapsat znaky z anglické mapy klávesnice:

AltGr + Výsledek
1  !
2 @
atd. dále viz popisky na horní řadě kláves
e € - znak euro, atd.

Na klasické české klávesnici (QWERTZ) jsou některé speciální znaky dostupné pomocí pravého ALT a písmen podle následující tabulky:

AltGr + Výsledek
v @
e € - znak euro
f [ – levá hranatá závorka
g ] – pravá hranatá závorka
b { – levá složená závorka
g } – pravá složená závorka, atd.

Reset terminálu

Někdy se kvůli nevhodnému výstupu terminál dostane do režimu, kdy se místo znaků zobrazují různé symboly (tzv. pseudografický režim). Jindy zase zmizí kurzor a podobně. Existují dvě snadné možnosti, jak terminál uvést do původního stavu. První využívá příkaz sane. Stačí (i poslepu) napsat a odeslat klávesou Enter následující příkaz:

stty sane

Druhá možnost využívá přímého zaslání řídícího znaku na terminál. Řídící sekvence se zapisuje tak, že podržíme klávesu CTRL a stiskneme k ní ještě klávesu v. Pak obě klávesy uvolníme, stiskneme klávesu ESC, uvolníme a nakonec stiskneme klávesu c (tj. mezeru jen za příkazem echo:

echo CTRL+v ESC c