| 2. System souboru a adresaru
 V systemu souboru a adresaru
OS UNIX rozlisujeme tri zakladni
 typy souboru:
 - bezne soubory
 - adresare
 - specialni soubory
  
 Bezny soubor je posloupnost
slabik. Pomoci sluzeb jadra lze
 ziskat sekvencni i primy
pristup ke kazde slabice.
 Adresar je soubor obsahujici
jmena souboru, prip. adresaru.
 Adresare tvori acyklickou
stromovou strukturu. Na vrcholu
 stromu je korenovy adresar,
ktery ma jmeno "/".
 Specialni soubor je soubor,
ktery system poskytuje uzivateli
 pro ovladani perifernich
zarizeni.
 Pro vsechny soubory je udrzovana
pouze jejich posledni verze.
 Soubory jsou reprezentovany
identifikacnim uzlem (i-node).
 O souboru jsou uchovavany
tyto informace: typ souboru,
 identifikacni cisla vlastnika
a skupiny, pristupova prava,
 casy posledniho zapisu, pouziti
(cteni nebo provedeni)
 a zmeny i-node a umisteni
datovych bloku na disku (resp.
 urceni periferniho zarizeni).
Je vhodne si vsimnout, ze
 soucasti tohoto uzlu neni
napr. jmeno souboru.
 
  
2.1 Prace se soubory
Bezne soubory mohou obsahovat
informace textove nebo binarni.
 Jmeno souboru je retezec
(az 14) znaku kodu ASCII, ktery
 neobasahuje znak "/". Koncove
znaky oddelene od pocatecnich
 teckou se casto oznacuji
jako pripona. Tecka je vsak pouze
 jednim ze znaku jmena souboru
a nema pevne stanovenou pozici.
 Pri specifikaci jmen souboru
lze pouzivat nektere specialni
 znaky:
 * libovolny textovy retezec
(i nulove delky)
 ? jeden libovolny znak
 [ ] umoznuje stanovit mnozinu
znaku pro urcitou
 pozici ve jmenu souboru
 Prikazy pro praci se soubory:
 cp file1 file2 kopie souboru
file1 do file2
 cp files dirname kopie souboru
files do adresare dirname
 mv file1 file2 prejmenovani
souboru file1 na file2
 (vcetne zmeny jmena adresare)
 mv files dirname premisteni
files do adresare dirname
 rm [-fir] files smazani souboru
fileX
 f ruseni bez dotazu
 i selektivni interaktivni
ruseni
 r zruseni celeho podstromu
 vceten adresaru (i neprazdnych)
 Prikazy pro praci s obsahem
souboru:
 file files urcuje obsah souboru
 (podle prvnich 512 slabik
souboru)
 cat files vypis textoveho
souboru na terminal
 cat [-u] vypis znaku zadavanych
z klavesnice
 u vypis ihned
 tail [+n][-n][lbc] fileX
 vypis konce textoveho souboru
fileX,
 -n delka vypisu od konce
(impl. -10)
 +n prvni vypisovana pozice
od zacatku
 urceni typu delky: l radky
(impl.)
 c znaky
 b bloky
 more [-c] [-n] files
 prohlizeni textoveho souboru
 c vypis od horniho okraje
obrazovky
 -n delka vypisu pred zastavenim
 z klavesnice lze ridit dalsi
vypis:
 q ukonceni cinnosti
 SPACE dalsi vypis
 +ln vypis od radku v poradi
ln
 /p vypis od nejblizsiho vyskytu
p
 i:n vypis od dalsiho souboru
 i:p vypis od predchazejiciho
souboru
 (i pocet preskocenych souboru)
 h help
 od [-bcdox] file vypis binarniho
souboru
 b oktalove po znacich
 c znakove po znacich
 (\ooo nezobrazitelne znaky)
 d dekadicky po slovech
 o oktalove po slovech (impl.)
 x hexadecimalne po slovech
 cmp [-l] [-s] f1 f2 porovnani
souboru f1 a f2
 po nalezeni rozdilu se beh
ukonci
 l vypis vsech rozdilu
 (poradi a oktalovy obsah
slabiky)
 s produkuje navratovy kod
(shell)
 Prikaz pro archivaci souboru:
 tar [keys] [names] tape archiver
- presun souboru names
 (prip. vcetne podadresaru)
mezi diskem
 a jinym mediem
 keys: c vytvoreni (create)
archivu
 x presun z archivu na disk
(extract)
 t vypis obsahu archivu
 r pripojeni souboru na konec
archivu
 f fname urceni archivu (zarizeni,
soubor)
 
  
2.2 Prace s adresari
Adresar je soubor, ktery obsahuje
zaznamy o jmenech souboru
 a cislech jejich i-nodes,
tj. odkazy na soubor. Muze existovat
 vice ruznych odkazu v ruznych
adresarich na jediny soubor
 (tentyz i-node). Uplne jmeno
souboru se sklada z cesty (path)
 strukturou stromu adresaru
(od korenoveho adreare) a prosteho
 jmena souboru. Jmena adresaru
v ceste jsou oddelena znakem "/".
 Znaky "." a ".." oznacuji
vzdy odkaz na aktualni adresar a
 jeho nadrazeny adresar.
 Prikazy pro praci s adresari:
 pwd vypis uplneho jmena pracovniho
adresare
 ls [-cgilrtu] files vypis
obsahu adresare
 a vypis vsech souboru
 c vypis podle data zmeny i-node
 d vypis vlastnosti adresare
 g vypis skupiny vlastnika
 i vypis s cisly i-nodes
 l siroky vypis (uplna informace)
 r vypis v obracenem poradi
 t vypis podle data posledni
zmeny
 u vypis podle data posledniho
uziti
 find pathnames expr nalezeni
souboru v hierarchii adresaru
 od pathnames, ktery vyhovuje
vyrazu expr
 expr:
 (n prave n, +n vice nez n,
-n mene nez n)
 -name fname hledani souboru
se jmenem fname
 -links n hledani souboru
o n odkazech
 -user uname hledani souboru
vlastnika uname
 -size n hledani souboru o
n blocich
 -inum n hledani souboru s
cislem i-node
 -print vypis uplneho jmena
(true)
 -exec command provedeni prikazu
shellem
 ln name1 [name2] vytvoreny
odkazu name2 na existujici
 soubor name1
 cd [dirname] zmena pracovniho
adresare
 (bez parametru = ..)
 mkdir dirnames vytvoreni podadresaru
 rmdir dirnames zruseni prazdnych
podadresaru
 
 
2.3 Pristupova prava
V multiuzivatelskem systemu
je treba zajistit vzajemnou ochranu
 uzivatelu. K tomuto ucelu
slouzi pristupova prava k souboru.
 V OS UNIX se rozeznavaji
tri typy pristupu ke kazdemu souboru.
 Tyto tri typy jsou cteni
(read), zapis (write) a vykonani
 (execute) souboru. Pro adresare
znamena cteni vypis adresare,
 zapis vytvoreni souboru a
vykonani pristup k podadresarum.
 V i-node souboru jsou pritom
ulozeny bitove priznaky, kterymi
 vlastnik (tj. uzivatel, ktery
soubor vytvoril) udeluje pristupova
 prava k souboru ostatnim
uzivatelum. OS UNIX pritom uzivatele
 deli na tri kategorie: vlastnik
(user) souboru, skupina vlastnika
 (group) a ostatni (others).
Z toho vyplyva, ze kazdy soubor ma
 devet bitovych priznaku (atributu)
urcujicich pristupova prava.
 Seznam opravnenych uzivatelu
je uveden v souboru "/etc/passwd".
 Zaznam o kazdem uzivateli
obsahuje uzivatelske (prihlasovaci)
 jmeno, zasifrovane heslo,
identifikacni cislo uzivatele (UID),
 identifikacni cislo skupiny
(GID), poznamku (libovolny text),
 domovsky adresar a zvoleny
interpret prikazu (impl. "/bin/sh").
 Skupiny uzivatelu jsou evidovany
v souboru "/etc/group".
 Zaznam o skupine obsahuje
jmeno skupiny, pripadne zasifrovane
 heslo skupiny, cislo skupiny
a seznam uzivatelu patricich ke
 skupine.
  
 Pristupova prava k souboru
lze zjisti pomoci vypisu adresare
 prikazem "ls -l". Jednotlive
polozky vypisu obsahuji:
 - typ souboru (d adresar,
l symbolicky odkaz, - bezny soubor,
 c znakove zarizeni, b blokove
zarizeni)
 - pristupova prava
 (po trojicich pro vlastnika,
skupinu a ostatni,
 r cteni, w zapis, x vykonani,
- bez pristupu,
 s propujceni identifikace
(pro vykonani))
 - pocet odkazu na soubor
 - vlastnika souboru
 - skupinu vlastnika souboru
 - velikost souboru
 - datum vytvoreni (v aktualnim
roce cas, jinak rok)
 - jmeno souboru
  
 Prikazy pro pristupova prava
k souborum:
  
 newgrp group zmena skupiny,
v niz uzivatel pracuje
 chmod mode files zmena pristupovych
prav k souborum files
 mode - tvar: cislo
 kategorie operator pravo
 (seznam, oddelovac carka)
 kategorie: u, g, o
 operator: = nastaveni, +
pridani, - odebrani
 pravo: r, w, x
 chown owner files zmena vlastnika
(UID) souboru files
 chgrp group files zmena skupiny
(GID) souboru files
 
  
2.4 Specialni soubory
Specialni soubory predstavuji
periferni zarizeni a poskytuji
 uzivateli pristup k nim.
OS UNIX rozlisuje dva typy perifernich
 zarizeni: blokova a znakova.
Nektera zarizeni maji zrizeny
 specialni soubory obou typu
pro kombinovany pristup. Nektera
 jmena jsou pevne dana OS
UNIX, dalsi urcuje spravce systemu.
 Specialni soubory jsou obvykle
umisteny v adresari "/dev".
 Plna informace o specialnich
souborech (prikaz "ls -l") obsahuje
 stejne informace jako pro
bezne soubory. Pouze delka souboru
 je nahrazena hlavnim (major)
cislem, ktere urcuje typ zarizeni,
 a vedlejsim (minor) cislem
specialniho souboru, ktere odlisuje
 zarizeni stejneho typu.
 Soubory:
 console konzole systemu
 tty odkaz na aktualni terminal
uzivatele
 ttyX terminal X
 mtX magneticka paska X (blokove)
 rmtX magneticka paska X (znakove)
 sdX diskovy svazek X (blokove)
 rsdX diskovy svazek X (znakove)
 kmem adresovy prostor jadra
systemu (kernel mem)
 mem adresovy prostor uzivatelskeho
programu
 null prazdne zarizeni
 Soubory jsou ukladany na jednotlive
diskove svazky. Fyzicky disk
 muze byt rozdelen na nekolik
diskovych svazku. Korenovy adresar
 je ulozen na systemovem svazku.
Podstromy adresare jsou ukladany
 na jine svazky.
 Prikazy pro praci se specialnimi
soubory:
 du [-as] [names] info o obsazeni
disku names po adresarich
 a po souborech (all)
 s pro specifikovane soubory
 df [devs] informace o velikosti
volneho mista na
 diskovych svazcich devs
 quot [devs] informace o obsazeni
svazku uzivateli
 mesg y/n povoleni/zakazani
psani na obrazovku
 ostatnimi uzivateli
 dd [opts] kopie souboru po
blocich prip. s konverzi
 if=file vstupni soubor
 of=file vystupni soubor
 ibs=num velikost bloku vstupu
 obs=num velikost bloku vystupu
 skip=n preskok n zaznamu
pred kopii
 files=n preskok n souboru
pred kopii
 count=n kopie pouze n zaznamu
 /etc/mknod name [cb] major
minor
 vytvoreni specialniho souboru
name
 c znakovy, b blokovy soubor
 major hlavni cislo, minor
vedlejsi cislo
 /etc/mount informace o rozlozeni
podstromu na svazcich
 /etc/mount dev dirname
 svazek dev je pripojen k
podstromu dirname
 /etc/umount dev odpojeni
svazku dev
    |