Předchozí Další Obsah

0. Počítačové minimum

0.1 Co musíte vědět o svém počítači

0.2 Co se Vám bude hodit z DOSu

0.3 Co by jste měli vědět o UNIXU

0.3.1 Velmi stručný úvod

Linux je "Unixový" operační system (OS), má tedy všechny jeho zakladní vlastnosti. Jaké jsou tedy zakladní rysy Unixových systému:

Je to víceulohový OS (multitasking), tzn. ze na něm mužze běžet vice uloh (aplikaci) najednou. To už asi dnes nezní nějak nově, ovšem rozdíl mezi multitaskingem na Unixech a ve Windows je ten, že na Unixech doopravdy funguje.

Unix je více uživatelský tzn, že na jednom počítači může pracovat najednou více lidí. To má význam samozejmně pokud onen počítač s Unixem běží jako server. Ale i doma se někdy tahle vlastnost může hodit, už proto že můžete být najednou přilášení za dva uživatele, jednou jako root (superuživatel, viz. níže) jednou jako "normalní" uživatel.

0.3.2 Uživatelé a soubory

Tedy na Unix se musí vždy nejdřív přihlásit pod svým "uživatelským" jménem. Každý uživatel má určitá práva, která přesně vymezují co může a co nemůže dělat. Existuje tzv. superuživatel (root) který může dělat všechno, číst cokoliv, zapisovat kamkoliv, spouštět cokoliv. Normální uživatel může toto všechno dělat pouze s vlastními soubory.

Z tohoto systému uživatelů vychází způsob organizace souborů. Každý soubor má svého vlastníka, a pouze tento vlastník s ním může nanipulovat. Tedy s výjimkou roota, ten může cokoliv.

Aby se v tom udržel přehled, má každý soubor také své atributy, které říkají kdo může s tímto souborem co dělat.

Nejlepší bude asi příklad:
výstup příkazu "ls -l"

drwxr-xr-x   4 marvin   users        1024 leden 25 19:43 Projekty
drwxr-xr-x  19 marvin   users        1024 leden 27 17:10 doc
drwxr-xr-x   8 marvin   users        1024 leden 29 08:49 grafika
drwxr-xr-x  28 marvin   users        1024 leden 22 11:58 html
drwxr-xr-x   4 marvin   users        1024 leden 30 13:30 hudba
-rw-r--r--   1 marvin   marvin       2721 leden 30 13:37 hudba.txt
-rw-r--r--   1 marvin   marvin        229 prosinec 25 13:09 knihy.txt
-rwxr-xr-x   1 marvin   users         328 prosinec 21 19:13 backup

Rozebereme nejdříve první řádek. Nejdříve je výpis atributů (práv) souboru. První písmeno říká o jaký typ adresářové položky se jedná, písmeno "d" znamená že se jedná o adrešář (directory), pomlčka "-" říká že se jedná o soubor.

Dále jsou tři trojce písmen kde, první trojce jsou práva týkající se vlastníka souboru, druhá trojce jsou práva týkající se uživatelů kteří jsou ve stejné skupině s vlasníkem, a koněčně třetí trojce jsou práva všech ostatních uživatelů.

Písmeno "r" znaméná, že dotyčný smí soubor (resp. adresář> číst.
Písmeno "w" znamená, že dotyčný smí do souboru (resp. adresář) zapisovat
Písnemo "x" znamená, že dotyčný smí soubor spouštět (v případě adresáře, že jej smí otevírat

dále je počet linků (viz. níže), jméno vlastníka (marvin), jméno jeho skupiny (users), délka souboru, datum poslední změny, a jméno souboru.

Doporučuji všem aby pro občejnou práci (tedy i hraní Quakea) používali nějakého "normálního" uživatele, chráníte tíim systém před vlasními chybami. Jako root můžete všechno, používejte jej tedy pokud to opravdu nejde jinak (při instalovaní novéno softu, konfiguraci apod).


Unix rozlišuje malá a velká písmena v názvech souborů!

Soubor: "Quake" není zaměnitelný se souborem "quake".

Dalším důležitým pojmem je link a symbolický link

Na Unixu máte možnost aby se na jeden soubor (data v něm) odkazovalo více jmen (linků). Jeden soubor může mít více názvů, kde s každým názvem (položkou v adresáři) můžete zacházet jako s normálním souborem (on to je normální soubor) Všechny názvy jsou navzájem rovnocenné, není žadný originál a kopie, všechny představují tentýž soubor. Když např. chcete smazat takový soubor s více názvy, musíte je smazat všechny jeho názvy. Počet takových linků se dozvíte třeba příkazem "ls -l"

Symbolický link je vlastně speciální druh adresářové položky (ani soubor, ani adresář). Je to pouze "ukazatel" na soubor nebo adresář. Rozdíl mezi linkem a sym. linkem je např. v tom že pokud smažete (přejmenujete) soubor na který se odkazují nějaké linky, stanou se tyto linky "neplatné". Nezmizí, ale budou ukazovat na neexistujíci soubor.

Jednoduše "link" je jeden z názvů souboru, ukazuje na data obsažená v souboru,
"sym. link" ukazuje na jeden s názvů souboru.

V obou případech jsou data na disku jenom jednou samozřejmě.

pozn:

0.3.3 Základní příkazy

I přesto, že existuje "Midnight Commander" (souborový manažér podobný Norton Commanderu), je dobré znát pár základních *NIXových přikazů (věřte že jejich znalostí si mnohdy ušetříte mnoho času a trápení). Jsou zde uvedeny samozřejmě pouze ty nejpouživanější parametry příkazů, vyčerpávající popis každého příkazu dostanete příkazem man nazev_prikazu.

Na popis syntaxe příkazů se používá konvence, kterou možná znáte i z DOSu. Do hranatých závorek se uvádějí nepovinné parametry. Například zápis [PARAMETRY] znamená, že PARAMETRY tam mohou i nemusí být. Svislá čára | odděluje více možností. Například zápis TO | FROM znamená, že tam může být buď TO nebo FROM.

Tabulka základních příkazů a jejich DOSových ekvivalentů
dir ls ls [PARAMETRY] [SOUBORY, [...]]
Vypíše obsah aktuálního nebo zadaného adresáře, nebo zadaných souborů. Prosté ls zobrazí abecedně setříděný seznam. Nejpoužívanější paramerty jsou:
ls -l podrobný výpis včetně velikosti, atributů, vlastníka času založení ...
-a zobrazí i soubory a adresáře začínající tečkou1, tedy i skryté soubory
-A totéž jako předchozí příklad, ale nezobrazí adresáře "." (tečka) a ".." (dvě tečky)
--color barevně odliší soubory podle typu
Na vaše nejoblíbenější volby si můžete vytvořit "alias" a nebudete je muset vypisovat pokaždé. Viz 1.4 Příklady konfigurace.
cd cd cd [ADRESÁŘ]
Změní aktuální adresář. Bez parametru skočí do vašeho domovského adresáře.
cd pwd pwd
Zobrazí aktuální adresář.
copy cp cp [PARAMETRY] CO NA_CO
cp [PARAMETRY] CO [...] KAM

Zkopíruje soubor do jiného souboru, nebo zkopíruje několik souborů do zadaného adresáře.
-v ukazuje co právě dělá
-r zkopíruje i všechny podadresáře
-i má-li se nějaký soubor přepsat, čeká na potvrzení
-f neptá se vůbec na nic, ale přepíše úplně všecno
ren
move
mv mv [PARAMETRY] CO NA_CO
mv [PARAMETRY] CO [...] KAM

Přesouvá soubory do jiného adresáře, nebo je přejmenuje. Syntaxe a parametry (kromě -r) jsou jako u cp.
md mkdir mkdir ADRESÁŘ
Vytvoří nový adresář.
rd rmdir rmdir ADRESÁŘ
Zruší prázdný adresář
del rm rm [PARAMETRY] SOUBOR [...]
rm [PARAMETRY] ADRESÁŘ

Smaže jeden nebo více souborů.
-r smaže i neprázdný adresář
attrib chmod chmod [PARAMETRY] MOD SOUBOR [...]
Mění atributy souborů (jak vypadají atributy souborů na *NIXech se dočtete někde výše).
-R proleze i podadresáře
MOD může být buď přímo osmičkový kód atributů, nebo specifikovat pouze některou kategorii.
u vlastník r čtení
g skupina w zápis
o ostatní x spuštění
Například:
u+x vlastníkovi povolí spustit
go-rw zakáže čtení a zápis všem kromě vlastníka
more more funguje podobně jako v DOSu, má navíc několik funkcí
ENTER posouvá text jen o jeden řádek
SPACE posouvá text o jednu stránku
q ukončí prohlížení dříve než soubor skončí
/ umožní na posledním řádku zapsat text, který potom vyhledá v textu
n opakuje poslední hledání
lze použít až poté co jste něco hledali pomocí /
v ukončí prohlížení a předá text editoru vi ve kterém můžete text upravit a uložit.
a mnohem, mnohem více ...
type cat
less
cat vypíše obsah souboru na obrazovku
less je chytřejší a umí se souborem listovat.
zná také většinu příkazů programu more a přidává vlastní
g vrátí se na začátek souboru
? totéž jako / ale hledá pozpátku, tedy předchozí výskyt
n opakuje poslední hledání. tedy jestli jste hledali pomocí /, pak hledá dopředu, jestli pomocí ?, pak hledá pozpátku
neexistuje ln ln [PARAMETRY] CO [KAM]
ln [PARAMETRY] CO ADRESÁŘ
Vytvoří link2 nebo symbolický link na soubor, nebo soubory v zadaném adresáři.
-s vytvoří symbolický link
Na adresáře je možné vytvářet pouze symbolické linky.
neexistuje df zobrazí kapacitu, obsazení a volné místo všech připojených jednotek (pevné disky, CD-ROMy, diskety, ...)
neexistuje du zobrazí velikosti adresářů. dobré parametry jsou:
du -hs *
mem free zobrazí kolik je obsazené a volné paměti ram a místa v odkládacím prostoru (swap)
             total    used    free  ... cached
Mem:         63092   61852    1240  ...  25676
-/+ buffers/cache:   35476   27616
Swap:        80636   24616   56020
         
Znamená, že mám celkem 63MB RAM, z toho si 35MB vzaly programy 25MB disková cache (něco jako smartdrv v DOSu, ale umí se nafukovat podle potřeby), takže mi zbývá 1,2MB. Taky vidím že mám 80MB pro swap, z toho 24MB obsazeno.
mem ps zobrazí seznam spuštěných programů - procesů
-l zobrazí více podrobností (velikost, prioritu, vlastníka, ...)
-ax všechy procesy (nejen ty vaše)
neexistuje top Lepší varianta ps.
neexistuje kill kill [-SIGNÁL] PID3
posílá na vybraný proces signál. Signály mohou ovlivňovat běh procesu. Například signál SIGINT vyzve proces aby se ukončil. Místo jmen signálů se mohou zapisovat pouze jejich čísla. Například:
kill -9 112 pošle procesu s číslem 112 signál 9
kill 112 když neřeknete jaký signál se má poslat, posílá se implicitně signál TERM (terminate)
help man man [SEKCE] PŘÍKAZ
Prohlížeč manuálových stránek. Stránky jsou rozděleny do několika sekcí:
1 Uživatelské příkazy 5 Popis struktur souborů
2 Systémová volání (knihovny C) 6 Manuálové stránky her
3 Knihovny C 7 Různé nezařazené
4 Speciální zařízení 8 Systémové přikazy
K zobrazení se automaticky vyvolává program less, takže ve stránkách jde hledat a listovat jak je popsáno výše u less. Může se stát, že se některý příkaz (mapříklad mount) nachází ve více sekcích. Správnou verzi si pak vynutíte zapsáním čísla sekce - např: man 2 mount nebo man 8 mount
help info info PŘÍKAZ
Pokročilejší hypertextová dokumentace - jiná filozofie než man.


1Na *NIXech nenajdete atribut "skrytý", namísto toho se soubory začínající tečkou považují za skryté a příkaz ls je běžně nezobrazuje.
2Jestli nevíte co jsou to linky, ***dopsat
3PID je skratka "Proces ID", tedy identifikační číslo procesu (získáte ho například programem ps). Je to unikátní číslo které má každý proces a žádné dva procesy je nemají stejné

0.4 Často používané programy

0.4.1 Komprinační programy, tar, gzip, bzip2

Jako nejpoužívanější kopmrimační program (a tedy i nejčastější formát) zdědil Linux po Unixech tar a gzip. Hned si uvedeme základní způsoby práce s těmito programy.

Programem tar můžete "pouze" zabalit více souborů do jednoho, ale soubor není nijak komprimován.

Naopak program gzip a bzip2 (bzip je jen novější varianta gzip a jeho ovládání se v základních operacích neliší) pouze zkomprimuje jeden daný soubor ovšem neumí zabalit více souborů do jednoho.

ovládání programu gzip
gzip soubor.txt Zabalí soubor soubor.txt do souboru soubor.txt.gz a původní soubor smaže.
gzip -d soubor.txt.gz ten soubor zase rozbalí do souboru soubor.txt a archív smaže.
gzip -t soubor.txt.gz otestuje archív jestli neobsahuje chyby

ovládání programu tar
tar cf ARCHÍV.tar {ADRESÁŘ | SOUBOR} [...]
zabalí adresáře nebo soubory do balíku archív.tar. parametr f musí být uveden jako poslední.
tar xf ARCHÍV.tar
rozbalí soubor ARCHÍV.tar do aktuálního adresáře.
tar xvf ARCHÍV.tar
rozbalí soubor ARCHÍV.tar do aktuálního adresáře a vypisuje seznam zpracovávaných souborů na terminál.

Takže když chcete zabalit více souborů do jednoho balíku, nejdříve vyrobíte tar:
tar cf ARCHÍV.tar NEJAKE_DATA
a potom archív gzipem zabalíte
gzip ARCHÍV.tar
Program tar naštěstí umí spolupracovat s gzipem. Slouží k tomu parametr z.

další ovládání programu tar
tar czf ARCHÍV.tar.gz {ADRESÁŘ | SOUBOR} [...]
zabalí adresáře nebo soubory do balíku archív.tar.gz a automaticky ho zkomprimuje
tar xzvf ARCHÍV.tar
rozpakuje a rozbalí soubor ARCHÍV.tar.gz do aktuálního adresáře a vypisuje seznam zpracovávaných souborů na terminál.



Předchozí Další Obsah