Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
203/628

| Název školy: | Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 |
| Autor: | Ing. Marek Nožka |
| Anotace: | Přehled základních příkazů systému Unix |
| Vzdělávací oblast: | Informační a komunikační technologie |
| Předmět: | Počítačové sítě a komunikační technika (PSK) |
| Tematická oblast: | Operační systém Linux/Unix |
| Výsledky vzdělávání: | Žák používá základní příkazy v unixovém shellu |
| Klíčová slova: | Linux, Unix, shell, mv, cp, rm, ln, ls, mkdir, rmdir |
| Druh učebního materiálu: | Online vzdělávací materiál |
| Typ vzdělávání: | Střední vzdělávání, 4. ročník, technické lyceum |
| Ověřeno: | VOŠ a SPŠE Olomouc; Třída: 4L |
| Zdroj: | Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele |
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.
Obsah:
V příkazech zapisujeme velice často cesty k souborům. Jako oddělovač adresářů
se používá znak lomeno /. Například
/home/students/pepa
MojeData/soubor.txt
Cestu lze zapsat relativně, nebo absolutně.
/usr/games/bombardier
cd. Výpis pracovního adresáře zajistí
program pwd.
Jako příklad uvedeme výpis adresáře s dokumentací k programu bombardier:
ls /usr/share/doc/bombardier/
Nyní změníme pracovní adresář a dokumentaci vypíšeme znovu:
cd /usr/share
pwd
/usr/share
ls doc/bombardier
copyright DEDICATION changelog.gz README
a dále
cd doc
pwd
/usr/share/doc
ls bombardier
copyright DEDICATION changelog.gz README
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.
cd
pwd
/home/students/pepa
Příkaz cd - přepne do předchozího pracovního adresáře:
cd -
pwd
/usr/share/doc
cd -
pwd
/home/students/pepa
. 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:
pwd
/home/students/pepa
cd ../..
pwd
/home
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:
pwd
/home/students/pepa
cp /etc/fstab .
je stejné jako
cp /etc/fstab /home/students/pepa
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) |
ls -l /tmpdrwx------ 2 pepa doma 4096 říj 7 18:54 mc-marek
-rw-r--r-- 1 pepa doma 577813 říj 11 15:03 mozilla.pdf
prw-r--r-- 1 pepa doma 0 říj 20 16:13 mypipe
lrwxrwxrwx 1 pepa roma 26 říj 15 20:50 pritn -> /etc/cups/ppd/tiskarna.ppd
Ve výpisu první znak udává druh souboru
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.
Adresář lze vytvořit pomocí příkazu mkdir (make directory).
mkdir Documents
mkdir -p a/b/c
Příkaz rmdir (remove directory) adresář odstraní. Odstraní ale pouze
prázdný adresář.
rmdir Documents
rmdir -p a/b/c
Pro odstranění neprázdného adresáře je třeba použít příkaz
rm -R adresarPlnyDat.
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ře né 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. |
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
$ ls -l muj_adresar
celkem 28K
-rwxr-xr-x 1 marek marek 406 lis 3 18:20 index.pl*
lrwxrwxrwx 1 marek marek 15 úno 21 2013 kontext.menu -> ../kontext.menu
-rw-r--r-- 1 marek marek 7,4K lis 14 11:11 obsah.mdwn
-rw-r--r-- 1 marek marek 13K lis 7 21:01 tisk.html
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
$ ln tisk.html print.html
$ ln -s print.html sajtna
... a můžeme se podívat co se stalo. Přepínač -i příkazu ls vypisuje číslo i-uzlu.
$ ls -li
celkem 48K
96479118 -rwxr-xr-x 1 marek marek 406 lis 3 18:20 index.pl*
96478792 lrwxrwxrwx 1 marek marek 15 úno 21 2013 kontext.menu -> ../kontext.menu
96473567 -rw-r--r-- 1 marek marek 8997 lis 14 11:22 obsah.mdwn
96479327 -rw-r--r-- 2 marek marek 12428 lis 7 21:01 print.html
96479361 lrwxrwxrwx 1 marek marek 10 lis 14 11:20 sajtna -> print.html
96479327 -rw-r--r-- 2 marek marek 12428 lis 7 21:01 tisk.html
-rw-r--r-- 2 marek marek 13K lis 7 21:01 tisk.html
Vidíme, že soubor tisk.html a souboru print.html mají počet jmen 2 a
číslo jejich i-uzlu je stejné.
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 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 -- 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/Neyes ano, 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 -- změna priority procesu