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í příkazpwd.
Jako příklad uvedeme výpis adresáře s dokumentací k programu bombardier:
1 2 | |
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 zapsat
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 na aktuální adresář (sám na sebe). Hodí se například při
kopírování nebo přesunu 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ář, @ pro symbolický odkaz. Normálním souborům není přidáno 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) |
Běžnou praxí je udělat si alias:
1 2 | |
Přepínač -l ukazuje kromě jména i mnoho dalších informací jako jsou přístupová práva,
velikost nebo časové razítko:
1 2 3 | |
také se dozvíte kam ukazuje symlink:
1 | |
Více o významu jednotlivých sekcí najdete v článku o přístupových právech.
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 adresar_s_obsahem.
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 |
umisteni 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. Data (tedy obsah souboru) jsou na disku jen jednou, ale soubor má více jmen. Metadata o souboru jsou uložena v tzv. i-uzelu. Mimo jiné i-uzel obsahuje počet odkazů — jmen na daný soubor. Jestliže je vytvořen nový pevný odkaz, zvětší se počet odkazů o jeden.
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édnout 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 | |
Vidíme, že soubor tisk.html a soubor print.html mají počet jmen 2 a
číslo jejich i-uzlu je stejné.
Další příkazy¶
Pokud vás zajímá více, podívejte se na Seznam unixových utilit a na seriál Unixové nástroje. Je to vlastně velmi jednoduché, jediný problém je v tom, že musíte vědět, kam šáhnout… a těch nástrojů je prostě hodně…
V Receptáři najdete několik praktických návodů, které vám ukážou jaký nástroj použít v konkrétní situaci.
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 souborugrep— prohledávání souborůdiff— rozdíly mezi souborypatch— 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— spojení souborů podle sloupců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