Základní UNIXové příkazy

Z MetaCentrum
Přejít na: navigace, hledání

Tato stránka nabízí popis základních příkazů UNIXu, které uživatel využije při práci s terminálem. Podrobnější informace o příkazech jsou k nalezení na Internetu - např. na Wikipedii.

Práce s adresáři a soubory

cd

změní aktuální adresář

cd dir     přepne do adresáře s názvem dir
cd ..      přepne do vyššího adresáře
cd -       přepne do adresáře, ve kterém jsme byli naposledy (krok zpět)
cd ~       přepne do domovského adresáře
ls

vypíše obsah adresáře

přepínače

  • -a vypíše všechny soubory v adresáři včetně skrytých souborů
  • -l výpis včetně detailů(práva, vlastník, poslední modifikace atd.)
  • -t setřídí výpis podle data poslední modifikace - od nejnovějšího k nejstaršímu


mkdir [adresář]

vytvoří adresář

rmdir [adresář]

smaže prázdný adresář

  • pro smazání neprázdného adresáře je možné použít příkaz rm -r.
rm [soubor]

smaže soubor přepínače

  • -i každé mazání vyžaduje souhlas uživatele
  • -r rekurzivní mazání včetně podadresářů
pwd

výpíše aktuální adresář

cp

kopíruje soubory

použití

cp [soubor1] [soubor2] .. [souborN] [cílový adresář]

  • cíl musí být vždy uveden (aktuální adresář symbolizuje tečka)

přepínače

  • -r rekurzivní kopírování včetně podadresářů
mv [původní_jméno] [nové_jméno]

přejmenuje nebo přesune soubor

použití mv [soubor] [nové_jméno]

  • přesouvat adresáře je možné jen v rámci jednoho diskového oddílu(partition), jinak je nutné soubory kopírovat

Textové utility

cat [soubor]

vypíše obsah souboru přepínače

  • -n očíslovat na výstupu řádky (viz též příkaz nl)
file [soubor]
  • určí typ souboru podle jeho obsahu (spustitelný, GIF, ZIP, text, prázdný, linka, ...)
  • definice typů je v souboru /etc/magic (resp. /usr/share/magic)
wc [soubor]
  • vypíše počet řádků, slov a písmen v souboru
  • přepínače:
    • -l počet řádků
    • -w počet slov
    • -c počet znaků
touch [soubor]
  • mění datum poslední modifikace souboru
  • když soubor neexistuje, je vytvořen nový s nulovou délkou
  • přepínače:
    • -t MMDDhhmm[[SS]RR][.ss] použít tento čas

Filtry

grep [výraz] [soubor]
  • hledá výraz v souboru a vypisuje řádky, které ho obsahují
  • přepínače:
    • -c vypíše počet řádků, ve kterých byl nalezen vzor
    • -i ignoruje rozdíly mezi malými a velkými písmeny
    • -l zobrazuje pouze jména souborů, ve kterých byl nalezen vzor
    • -n zobrazí čísla řádků obsahujících vzor
    • -s potlačen chybový výstup
    • -v vypíše řádky neobsahující vzor
    • -r rekurzivní hledání v podadresářích
    • -q nalezený řádek se nevypisuje - používá se např. v testech ve skriptech, kde jen testujeme návratový kód, tj. nalezeno - pravda (0), nenalezeno - nepravda (1)
  • při specifikaci hledaného řetězce lze použít regulární výraz, ve kterém lze použít následující speciální znaky (doporučuji zapisovat regulární výraz do uvozovek či apostrofů):
^  začátek řádku 
$  konec řádku 
.  libovolný znak 
*  libovolný počet opakování předchozího znaku 
[] právě jeden znak z množiny znaků uvedených v těchto závorkách, při specifikaci lze použít následující dva speciální znaky:
-  používá se pro označení intervalu znaků z množiny ASCII (např. a-z, 0-9) 
^  negace výčtu znaků 
\  potlačení speciálního významu následujícího znaku 


Porovnávání souborů

cmp
  • porovnává dva soubory po jednotlivých bajtech, ohlásí první rozdílný bajt
  • přepínače:
    • -s potlačení výstupu o nalezených odchylkách
diff soubor1 soubor2
  • porovnává dva soubory po jednotlivých řádcích a hledá rozdíly mezi nimi
  • vypisuje změněné řádky, výstup se používá jako vstup pro program patch
  • přepínače:
    • -u unifikovaný výstup (používá se nejčastěji, modifikované řádky jsou odlišeny znaky plus a mínus, které vyjadřují, zda byl řádek smazán nebo přidán; změněné řádky jsou obklopeny původními,aby se při použití programu patch poznalo, je-li zpracovávaný soubor ve stavu, který byl zachycen programem diff)
    • -r rekurzivní běh
    • -N zahrnuty i nové soubory
  • popis standardního výstupu programu (unifikovaný formát viz výše):

Ve výpisu je nejdříve údaj o typu a rozsahu nalezených změn, poté následuje výpis řádek z obou souborů: znak < označuje řádky prvého souboru, znak > označuje řádky druhého souboru. Údaj o typu a rozsahu změn má tuto strukturu m x n, kde:

m  označuje čísla řádek prvního souboru 
n  označuje čísla řádek druhého souboru 
x  může nabývat hodnot:
a  přidání řádků k prvnímu souboru 
d  zrušení řádků z druhého souboru 
c  změna znaků na řádcích 

Např. zápis 8,20 c 8,22 označuje že na řádcích 8 až 20 z prvního souboru byly provedeny změny, které jsou zapsány na řádcích 8 až 22 druhého souboru (současně byly dva řádky vloženy).