Příkazy Unixu

Milan Keršláger, 09.11.2006, 08:32:32

Nápověda

Klasická nápověda se v Unixu nachází v manuálových stránkách, které si můžete od roku 1979 zobrazit příkazem man (stránkování mezerníkem, ukončení klávesou "q", nápověda klávesou "h"). V tomto formátu je k dispozici pro některé manuálové stránky i český překlad. Manuálové stránky lze prohledávat pomocí příkazů whatis a apropos, které prohledají předem vytvořenou databázi krátkých a delších popisů v úvodních odstavcích manuálových stránek. Databáze se vytváří příkazem makewhatis. Manuálové stránky jsou organizovány do sekcí, které sdružují příbuzná témata. Pokud jsou v systému dvě stejnojmenné manuálové stránky v různých sekcích, je potřeba číslo sekce uvést jako první parametr. Sdružení GNU však zavedlo formát TexInfo, který je dostupný příkazem info, a proto některé manuálové stránky neobsahují nejnovější informace. Uživatelsky přívětivější je pro prohlížení TexInfo stránek příkaz pinfo (lze používat šipky a podobně). Kromě toho by každý příkaz měl při použití přepínače --help měl vypsat stručnou nápovědu pro použití příkazu.
man cp          # manuálová stránka příkazu cp (je-li k dispozici, pak jazyk dle nastavení)
LANG=C man cp   # anglická manuálová stránka příkazu cp
pinfo cp        # info stránka příkazu cp
cp --help       # zobrazí stručnou nápovědu pro příkaz cp
whatis passwd   # prohledá krátké popisy příkazů na výskyt slova passwd
apropos passwd  # prohledá detailnější popisy příkazů na výskyt slova passwd
man 5 passwd    # manuálová stránka ze sekce 5 (popis souboru /etc/passwd)
man cp | col -bf | unix2dos > soubor.txt     # manuálová stránka do souboru (např. pro tisk)

Práce s příkazovým řádkem

Po přihlášení do systému pomocí terminálové emulace pomocí SSH protokolu (z MS Windows např. pomocí programu PuTTY, z jiného Unixu pomocí příkazu ssh) je uživateli spuštěn interpret příkazů - tzv. shell. Komfort práce a syntaxe je závislá na tom, jaký shell zvolíte. Obvykle se jedná BASH (Bourne-Again Shell). Přihlašovací shell lze změnit příkazem chsh, přičemž seznam dostupných variant naleznete v souboru /etc/shells.

Pokud zapisujete příkaz nebo jméno souboru, můžete si nechat poradit pomocí klávesy <TAB>. Jméno souboru je doplněno nebo se ozve pípnutí, které signalizuje, že je k dispozici více variant. Můžete přidat další znak a opět zkusit klávesu <TAB> a nebo po pípnutí stisknout klávesu <TAB> podruhé, aby se vypsaly všechny dostupné možnosti.

Každý příkaz může být následován několika přepínači a parametry, přičemž oddělovacím znakem je mezera. Přepínače slouží ke změně standardního chování příkazu (například zapnutí podrobnějšího výpisu adresáře). Dělíme je na krátké přepínače, které jsou uvozeny znakem mínus, za kterým následuje jedno písmeno (a případný parametr oddělený mezerou nebo bez mezery). Pokud nejsou použity parametry, lze krátké přepínače sdružovat do skupiny za jediný znak mínus. Dlouhé přepínače jsou uvozeny dvěma znaky mínus těsně po sobě a skládají se z celého slova, které obvykle vystihuje jeho funkci. Nelze je sdružovat, jako krátké přepínače. Parametry příkazu určují, s čím bude příkaz pracovat. Pokud parametr není určen, bude příkaz buď pracovat s aktuálním adresářem nebo očekávat vstup z klávesnice (místo aby příkaz četl ze zadaného souboru). Tato pravidla jsou v systému jednotná, na parsování přepínačů a parametrů jsou používány specializované knihovní funkce, chování systému je až na výjimky jednotné a příkazy lze snadno sdružovat do kolon (trubky, pipe).

Vstup z klávesnice lze ukončit kombinací CTRL+d. Předčasně lze běh příkazu ukončit kombinací CTRL+c. U celoobrazovkových programů (links, mc, less, ...) lze vynutit překreslení obrazovky kombinací CTRL+l (klávesa s malým písmenem "L"). Výstup na terminál (obrazovku) lze pozastavit kombinací CTRL+s a dále povolit kombinací CTRL+q.

Někdy se terminál tak zvaně "splaší" (vypisují se nesmyslné znaky, případně nic nebo jsou podivně nastavené barvy apod. - terminál je v takovém případě jen nevhodně přenastaven speciálními řídícími znaky). V takovém případě pro uvedení do původního stavu použijte níže uvedené příkazy (lze je napsat i "poslepu" a pak odeslat klávesou Enter).

echo ^[c        # řídící znak se zapíše: CTRL+v a pak ESC a pak písmeno "c"
stty sane

Příkazy pro práci s adresáři

ls [cesta] mkdir [adresář] rmdir [adresář] cd [adresář] pwd du

Příkazy pro práci se soubory

cp [soubor1] [cílové_jméno]
cp [soubor1] [soubor2] [soubor3] ... [cílový adresář]
mv [původní_jméno] [nové_jméno] rm [soubor] hexdump [soubor]

Textové utility

cat [soubor] tac [soubor] head [soubor] tail [soubor] file [soubor] stat [soubor] strings [soubor] wc [soubor] touch [soubor] cut [soubor] nl [soubor] join [soubor1] [soubor2] find [adresář] [podmínka] [operace]

Filtry

less [soubor] ... dos2unix unix2dos tee [soubor] sort [+číslo] [přepínače] [soubor] uniq [paramery] [soubor] grep [výraz] [soubor]

Porovnávání souborů

cmp diff soubor1 soubor2 comm [-123] soubor1 soubor2