Na této stránce naleznete přehled základních příkazů. Pokud se chcete dozvědět víc podívejte se na seriál Unixové nástroje.
Zápis cesty¶
V příkazech zapisujeme velice často cesty k souborům. Jako oddělovač adresářů
se používá znak lomeno /. Například
1 2 | |
Cestu lze zapsat relativně, nebo absolutně.
- Absolutní cesta
- začíná vždy lomítkem a je vždy stejná. Například
/usr/games/bombardier - Relativní cesta
- nezačíná lomítkem a při jejím zápisu je vynechána část cesty, která odpovídá pracovnímu adresáři.
- Pracovní adresář
- je místo v adresářovém stromu, na kterém se zrovna shell nachází
Pracovní adresář je klíčový pro zápis relativní cesty. Změna pracovního
adresáře se provádí příkazem
cd. Výpis pracovního adresáře zajistí programpwd.
Jako příklad uvedeme výpis adresáře s dokumentací k programu bombardier:
1 | |
Nyní změníme pracovní adresář a dokumentaci vypíšeme znovu:
1 2 3 4 5 | |
a dále
1 2 3 4 5 | |
Všimněte si, že jak u příkazu ls, tak u příkazu cd je možné cestu zaspat
jak relativně tak absolutně.
Pokud příkaz cd zavoláme bez parametrů, přepne nás vždy do našeho domovského adresáře.
1 2 3 | |
Příkaz cd - přepne do předchozího pracovního adresáře:
1 2 3 4 5 6 | |
adresář . a ..¶
V každém (i prázdném) adresáři se nachází dva speciální adresáře . a ... Adresář .. odkazuje vždy do nadřazeného adresáře:
1 2 3 4 5 | |
Adresář . odkazuje vždy aktuální adresář (sám na sebe). Hodí se například při
zápisu cesty kopírovat nebo přesunout souboru do aktuálního adresáře:
1 2 3 | |
je stejné jako
1 | |
Výpis adresáře¶
Výpis obsahu adresáře provádí program ls. Některé
často používané volby:
| Přepínač | popis |
|---|---|
-l |
dlouhý formát (anglicky long format). |
-F |
přidá za jméno znak podle typu. Hvězdičku * pro spustitelný soubor, lomítko / pro adresář, l pro symbolicky odkaz. Normálním souborům není přidáni nic. |
-a |
zobrazí i soubory které začínají tečkou. Soubory začínající tečkou jsou jinak považovány za skryté a nejsou vypisovány. |
-R |
rekurzivně vypisuje i obsah podadresářů. Například ls -R ~ vypíše všechny soubory v domovském adresáři. |
-d |
vypíše informace o symbolickém odkazu nebo adresáři namísto výpisu jeho obsahu nebo cíli odkazu. |
-t |
seřadí výpis podle času poslední úpravy souboru. |
-X |
seřadí výpis podle přípony souboru. |
-h |
velikost se vypíše v lidsky čitelném formátu (např. 1K, 234M, 5G) |
- Výstup příkazu
ls -l /tmp drwx------ 2 pepa doma 4096 říj 7 18:54 mc-marek-rw-r--r-- 1 pepa doma 577813 říj 11 15:03 mozilla.pdfprw-r--r-- 1 pepa doma 0 říj 20 16:13 mypipelrwxrwxrwx 1 pepa roma 26 říj 15 20:50 pritn -> /etc/cups/ppd/tiskarna.ppd
Ve výpisu první znak udává druh souboru
| Znak | Popis |
|---|---|
d |
adresář |
- |
běžný soubor |
l |
symbolický odkaz |
p |
pojmenovaná roura |
c |
znakové zařízení |
b |
blokové zařízení |
s |
socket |
Dále je 9 znaků zobrazujících
přístupová práva.
Dále číslo udává počet jmen souboru. Dále jméno vlastníka pepa a
skupiny vlastníků doma. Dále velikost souboru, datum poslední změny a nakonec
jméno souboru.
Vytvoření a odstranění adresáře¶
Adresář lze vytvořit pomocí příkazu mkdir (make directory).
1 2 | |
Příkaz rmdir (remove directory) adresář odstraní. Odstraní ale pouze
prázdný adresář.
1 2 | |
Pro odstranění neprázdného adresáře je třeba použít příkaz
rm -R adresarPlnyDat.
Kopírování, mazání a přejmenovávání souborů¶
Pro kopírování slouží příkaz cp (copy), pro mazání
rm (remove) a pro přejmenování nebo přesun
mv (move).
Všechny tyto programy mají několik společných přepínačů a chovají se podobně.
| Přepínač | popis |
|---|---|
-v |
příkaz bude “ukecaný” a bude vypisovat co právě dělá |
-i |
interaktivní – při přepisu/odstranění se bude ptát |
-f |
(force) nebude se na nic ptát a bude přepisovat/odstraňovat |
-R -r |
pracuje rekurzivně — to znamená kopíruje/maže i všechny vnořené soubory adresáře a podadresáře |
| Příkaz | popis |
|---|---|
cp souborA cesta/nekde/souborB |
kopíruje souborA do souborB |
cp souborA souborB cesta/k/cilovemu/adresari/ |
kopíruje souborA a souborB do cílového adresáře |
mv soubor cilovy/adresar/ |
přesune soubor z pracovního adresáře do cílového adresáře |
rm souborA souborB cesta/souborC |
vymaže soubory A,B,C |
rm -R adresar |
smaže celý adresář včetně všeho, co je uvnitř |
cp -R cesta/adresar cilove/umisteni |
unmisteni existuje, takže adresar bude nakopírován do umisteni |
cp -R adresar umisteni/noveJmeno |
noveJmeno neexistuje, takže adresar bude nakopírován do umisteni pod jménem noveJmeno. |
Odkazy¶
V operačním systému Unix rozlišujeme pevné odkazy
— hardlink a symbolické odkazy — symlink. Pro jejich
vytvoření se používá příkaz ln.
Pevný odkaz přidává další jméno, pomocí kterého můžeme k souboru přistoupit. Metadata o souboru jsou uložena v tzv. i-uzelu. Mimo jiné i-uzel obsahuje počet odkazů na daný soubor. Jestli-že je vytvořen nový pevný odkaz zvětší se počet odkazů o jeden.
Pevný pevný odkaz na adresář může vytvořit jen superuživatel root.
Vytvořením symbolického odkazu dojde ke vzniku nového souboru s vlastním
i-uzlem, který ukazuje na jiný soubor nebo adresář. Cesta k souboru, na který
symlink ukazuje může být absolutní nebo relativní. Pro vytvoření symbolického
odkazu je třeba k příkazu ln přidat parametr -s.
Informace o odkazech si můžeme prohlédnou pomocí příkazu ls -l
1 2 3 4 5 6 | |
V druhém sloupci výpisu vidíme číslo 1. To říká, že na daný soubor existuje
jen jeden odkaz — má jen jedno jméno. Soubor kontext.menu je symbolický
odkaz a ve výpisu je patrné, na jaký soubor ukazuje.
Nyní vytvoříme jeden pevný a jeden symbolický odkaz pro soubor tisk.html
1 2 | |
… a můžeme se podívat co se stalo. Přepínač -i příkazu ls vypisuje číslo i-uzlu.
1 2 3 4 5 6 7 8 9 | |
Vidíme, že soubor tisk.html a souboru print.html mají počet jmen 2 a
číslo jejich i-uzlu je stejné.
Další příkazy¶
Pokud váz zajímá více, podívejte se na Seznam unixových utilit a na seriál Unixové nástroje.
Zde je seznam těch nejvíce používaných:
test— porovnávání řetězců, čísel, souborůdf— obsazenost diskůdu— velikosti souborů a adresářůfind— hledání souborůbasename— jméno souborudirname— adresář ve kterém je souborcmp— porovnání souborůtouch— změna časového razítka souborufind— hledání souborůgrep— prohledávání souborůdiff— rozdíly mezi soubory- patch
patch— aplikace rozdílů comm— porovnávání souborůcut— výpis sloupcůcat— spojování souborůalias— vytváření zkratek nových příkazůecho— tiskprintf— formátovaný tiskhead— začátek souborutail— konec souboruless— zobrazení/stránkování souborůmore— zobrazení/stránkování souborůawk— jazyk pro zpracování textused— proudový editorsort— seřazení řádkůpaste— pojení souborů podle soupcůnslookup— DNS dotazyhost— DNS dotazydig— DNS dotazyping— test síťového spojenínetstat— otevřená síťová spojenífalse,true— Ano/Neyesano, ano, samozřejmě, že anowc— počítač slov, řádků, znakůuniq— vynechá opakující se řádkytee— zapíše vstupní proud do souboru a na výstupwhoami— jak se jmenuji?who— kdo je přihlášený?w… a co dělá?uptime— jak dlouho už to běží?uname— jak se jmenuješ?wait— čekám až skončíšxargs— spustí zadaný příkaz pro každé “slovo” na vstupufile— identifikuje souborps— výpis procesůfuser— který proces otevřel tento soubor?kill— zasílání zprávnice— změna priority procesuwget— stahování souborů z webu