Základní UNIXové příkazy
Metacentrum wiki is deprecated after March 2023
Dear users, due to integration of Metacentrum into https://www.e-infra.cz/en (e-INFRA CZ service), the documentation for users will change format and site. The current wiki pages won't be updated after end of March 2023. They will, however, be kept for a few months for backwards reference. The new documentation resides at https://docs.metacentrum.cz. |
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
- -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
- 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).
On-line příručky a výukové materiály pro BASH
Učební zdroje pro uživatele začínající s Linuxem a příkazovou řádkou.
- Kurz práce v příkazové řádce Linuxu nejen pro MetaCentrum
- The Bash Shell, openSUSE Start-Up guide
- Using the Terminal, Ubuntu Community Help Wiki
- GNU Bash manual (advanced --- full reference manual)
- GNU/Linux tutorials, Debian Reference
- Guide to Unix, Wikibooks
- Bash Guide for Beginners
- The Grymoire – home for UNIX wizards
- Linux Tutorial
- Getting Started with BASH – A Bash Tutorial
- Bash Guide
- Bash Tutorial – Learn Bash Shell Scripting