Sunteți pe pagina 1din 9

2.3.

Sistemul de fisiere (SF) in UNIX


2.3.1.Caracteristici
2.3.2. Structura standard. Arborescenta
2.3.3. Tipuri de fisiere
2.3.4. Drepturi de acces la fisiere
2.3.5. Implementarea SF pe disc
2.3.6. Montarea volumelor in SF

Conf.dr.Carmen Timofte Sisteme de operare 1

2.3.1.Caracteristici
 Structura ierarhica
 Tratarea coerenta a datelor fisierelor
 Posibilitatea crearii, distrugerii, protectiei fisierelor
 Tratarea unui periferic in acelasi mod ca un fisier

 Fisier - Caractere speciale care nu se folosesc in denumirea fisierelor:


!`;/\$*&( ){}[]~

 Director

 Link-uri

 Partitii
 Swap => paginare (paging), interschimbare (swapping)

Conf.dr.Carmen Timofte Sisteme de operare 2

1
2.3.2. Structura standard.
Arborescenta
/

/bin /dev /etc /lib /mnt /opt /tmp /usr /var /home

/user_1 . /user_n
Home directory
$cd cale
cale relativa
cale absoluta
$cd
$cd ~
$cd ~user
$cd ..
$pwd

Conf.dr.Carmen Timofte Sisteme de operare 3

 / bin utilitare n form executabil: compilatoare, asambloare, instrumente pentru dezvoltarea


programelor;
 / dev fiiere speciale pentru dispozitivele periferice: consola sistem,terminale, discuri,
imprimant, etc.;
 / etc programe pentru administrarea sistemului: fiiere cu parole, comenzi de iniializare;
 / lib biblioteci pentru limbaje de programare i utilitare;
 /opt contine software storage objects
 / tmp spaiu temporar de manevr folosit de programele de sistem;
 (/root - / unix nucleul sistemului de operare, direcionnd sistemul ctre /aixps2/unix.std;)
 / local partiia activ (de aici se face bootarea);
 / lost+found director unde se ataeaz fiierele i directorii gsii ca nefcnd parte din nici un
sistem de fiiere;
 / usr alte programe necesare utilizatorilor;
 / bin utilitare nefolosite frecvent;
 / tmp fiiere temporare mai puin utilizate;
 / lib fiiere de bibliotec utilizate mai rar;
 / dict lista de cuvinte, desprirea n silabe;
 / man directori de fiiere text coninnd manualul complet de utilizare.
 / spool -at timpul la care se prelucreaz; - lpd director imprimant;
 /var fisiere obiect nepartajate
 /home sau /u director n care se creeaz Home directory pentru fiecare utilizator;
 / user_1
 / ... structuri de directori
 / ... ai utilizatorilor
 / user_n

Conf.dr.Carmen Timofte Sisteme de operare 4

2
Comenzi de lucru cu directoare

pwd Afieaz calea de la rdcin pn la directorul curent

cd [dir] Schimb directorul n dir


cd Revenire n home directory

ls [-ltsidaucr] [dir] Listeaz coninutul directorului (implict este cel


curent)
-l =forma lung
-a = inclusiv fiierele cu .
-d =doar directoare
-c =data crerii

mkdir [-m drep_acces] [-p] dir1 ... dirn Creare directoare


mkdir p a/b/c -p =creare structura de directoare
mkdir m 755 dir1 dir2 -m =creare cu anumite drepturi de acces

rm [-rfi] f1 ..fn terge fiierul sau directorul ( -r =recursiv ,f


rm [-rfi] dir1... dirn =forare, -i =confirmare)

rmdir dir terge directorul doar dac este vid

Conf.dr.Carmen Timofte Sisteme de operare 5

2.3.3. Tipuri de fisiere


 Fisiere obisnuite
 Fisiere speciale
 Tip caracter
 Tip bloc
 Tip pipe
 Cataloage de fisiere (directori)

Conf.dr.Carmen Timofte Sisteme de operare 6

3
comenzi pentru vizualizare/ copiere/ mutare/ fiiere

cat [ -w, -s, -v, -t, l] f1 f2 Concateneaz / afieaz coninutul fi.


cat f1 Afieaz f1
cat >f1 Creeaz de la tastatur fi. f1 (CTRL D)
cat f1 f2 > f3 Concatenez f1 i f2, rezultatul n f3

chmod [opt] dr_acces f1 fn Schimb drepturile de acces la fiiere ordinare sau


directoare
chmod R a+rx * Adaug recursiv drepturile de citire i execuie pt.
toat lumea pt. toate fis/dir din directorul curent
chmod 700 fis Atribuie toate drepturile user-ului u (proprietarului)
pt. fis, iar g (grup) i o (alii) nici un drept

cp f1 [f2....fn] fis Copiaz fiierele in destinaie, care poate fi fis sau dir

dd [opt=val] Copiaz un fiier n altul efectund eventuale


conversii

mv f1 [f2 ...fn] fis_dest Mut un fiier/director sau mai multe n destinaie


mv a b Schimb numele lui a n b

ln [opt] f1 [f2 ...fn] fis_dest Creeaz o legtur la un fiier


ln s a bb Creeaza o leg. simbolica de la a la bb
ln a b Fiierul a va putea fi accesat cu numele b, fr a fi
copiat de 2 ori pe disc

cpio Copiaz fiiere pstrnd structura arborelui de


directori

rm [-rfi] f1 ..fn terge fiierul sau directorul ( -r =recursiv ,f


rm [-rfi] dir1... dirn =forare, -i =confirmare)

Conf.dr.Carmen Timofte Sisteme de operare 7

comenzi de afiare fiiere /dimensiune

file fis Determin tipul fierului; dac este ASCII ncearc s


determine limbajul, iar dac este executabil, indic
versiunea

size [fis] Afieaz dimensiunea zonelor de cod,date i stiv ale


fiierului obiect dat
uniq [fis] Afieaz liniile care se repet ntr-un fiier
tail [nr_linii] fis Afieaz ultimele nr_linii din fis
head [nr_linii] fis Afieaz primele nr_linii din fis
more [lista_fis] Filtru de vizualizare fiier
wc [-lwc] f1 ... fn Afieaz numrul de linii (-l), caractere (-c), cuvinte
(-w) din fiierul specificat
od [-bcdox] [fis] Afieaz coninutul fiierului ntr-o baz, implict
octal
-o =octal, -d = zecimal, -c =caractere ASCII
-b =binar, -x =hexazecimal
pr [opt] [lista_fis] Tiprete fiierele la ieirea standard, paginile avnd
numr, data, ora, numele fiierului.
pg fis Afiare pagin cu pagin a fiierului

Conf.dr.Carmen Timofte Sisteme de operare 8

4
comenzi pentru comparri de fiiere/directoare
cmp [-l s] f1 f2 Compar 2 fiiere
comm [-[12 3]] f1 f2 Selecteaz sau rejecteaz liniile comune din 2 fiiere
ASCII sortate, punnd rezultatul pe 3 col
diff [-efbh] f1 f2 Compar 2 fi. indicnd ce comenzi tb. aplicate lui f1
pt. a obine f2
diff3 Compar 3 fiiere
diffdir dir1 dir2 Compar fiierele din dir1 i dir2 i afieaz
diferenele dintre ele
find list_ci list_predicate Caut n arborele de fiiere, ncepnd cu nodurile
specificate n list_ci, fiierele care ndeplinesc
condiiile expresiilor booleene din list_predicate
care poate fi:
-name fis = dac numele fierului este fis
-print = tiprete fiierele gsite
-links n = dac are n legturi
-size n = dac are dimensiunea de n Bytes
-user nume = proprietarul este cel din nume
find / -name *.c print Tiprete toate fiierele cu extensia .c dint toi
directorii de pe disc, ncepnd cu rdcina
grep / fgrep/ egrep [-bbchn] criteriu f1..fn Selecteaza linii dintr-un fiier ce corespund unui
criteriu specificat; diferena dintre comenzi const n
algoritmul de cutare
grep sem* /home/stud Afieaz toate liniile din toate fiierele aflate n
directorul /home/stud care conin irul sem urmat
de orice caractere

utilitare pt. fiiere


csplit fis arg1 ..argn Divizare fiier n funcie de context, obinnd fis00
csplit fis /main/ /while/ de la nceputul fiierului pn la arg1, fis01de la linia
cu arg1 pn la cea cu arg2 etc.
crypt Cripteaz /decripteaz fiiere
sort [lista_fis] Sorteaz (implicit lexicografic) fiierele i afieaz
rezultatul la ieirea standard
spell [lista_fis] Verific fiecare cuvnt i afieaz pe cele incorecte,
n conformitate cu un dicionar

utilitare comprimare, arhivare


pack fis Compacteaz un fiier (60-75%) i-l transform n
fis.z, tergnd sursa.
unpack fis.z Decompacteaz fis.
uuencode /uudecode fis Transform un fis. binar n ASCII i invers pt.
uuencode f_s f_d >f_d_1 trimiterea prin e-mail (mail ul suport doar fiierea
uudecode f_d_1 ASCII
Conf.dr.Carmen Timofte Sisteme de operare 9

2.3.4. Drepturi de acces la fisiere


 r,w,x
 u,g,o => a
 Chown, chmod,chgrp, ls

comanda chmod 755 fis schimba


drepturile in fisierului specificat in:
- - rwx r-x r-x, adica
000 111 101 101, unde

suid sgid sticky user group other

Conf.dr.Carmen Timofte Sisteme de operare 10

5
Schimbarea drepturilor de acces
 La crearea unui fisier se asociaza uid identificator pt. utilizator
-gid - identificator pt. grup
ambele atribuite de administratorul de sistem
 Fisierele executabile preiau la executie uid-ul/guid-ul celui care le lansaeaza; daca
bitii sunt setati pe 1 se preia uid-ul/gid-ul proprietarului fisierului respectiv,iar la
comanda ls apare optiunea s in loc de x (la dreptul de executie al proprietarului)
 Bitul sticky =1 produce ramanerea in memoria interna a fisierului executabil, in
zona de swapping; utilizat la fisiere de comenzi sau TSR (Terminate and Stay
Resident)
 Pt. un fisier pot fi setate 2 drepturi de acces speciale: suid (set uid), sgid (set gid)
 La fisierele executabile au atribuite implicit drepturile pe care le are utilizatorul
atunci cand le lanseaza;
 Daca suid a fost setat=>programul care acceseaza un fisier va avea uid-ul
efectiv cu cel al proprietarului, dar doar pe durata executiei programului

Exemplu: $chmod u+s fis =>stabileste drepturile proprietarului asupra fisierului


fis, in momentul accesarii; efectul va fi:
-rwsr-xr-x proprietar grup fis

Conf.dr.Carmen Timofte Sisteme de operare 11

(*)
 comanda id - informatii despre numerele si numele de identificare ale
utilizatorilor si a grupurilor
 Comanda logname, whoami numele utilizatorului curent
 comanda chgrp nume_nou_grup fis1 fis2 fisn schimba grupul pt.
fisierele specificate

Informatii despre utilizatori si grupuri sunt cuprinse in fisierele


/etc/passwd
/etc/group

 comanda chown nume_nou_proprietar fis1 fis2 fisn schimba grupul


pt. fisierele specificate
 comanda chmod 755 fis schimba drepturile fisierului specificat in:
- - rwx r-x r-x, adica
000 111 101 101, unde

suid sgid sticky user group other

Conf.dr.Carmen Timofte Sisteme de operare 12

6
Com. cu user/grupuri

chown [opt] proprietar fis Schimb proprietarul unui fis/dir

chgrp grup fis Schimb grupul unui fis/dir (doar pt. utilizatori
privilegiai)

id Tiprete numrul i numele de utilizator i de grup


logname
chfn cont_user Schimbare nume utilizator (doar pt. utiliz. privilegiat)

Conf.dr.Carmen Timofte Sisteme de operare 13

2.3.5. Implementarea SF pe disc


Structura zonei de inod-uri cuprinde:
- numrul de identificare proprietar i grup;
- tipul fiierului i atributele de acces;
- lista blocurilor fizice ale fiierului compus din 13 intrri:
10 constituie adresele primelor 10 blocuri de date;
11 bloc de simpl adresare indirect;
12 bloc de dubl indirectare;
13 blocul de tripla indirectare;
- numrul de legturi la fiier, indicnd numrul directorilor care au
referine la acest fiier;
- data ultimei accesri, a ultimei modificri i data crerii.
La deschiderea fiierului, inod-ul este copiat n memoria intern de
ctre nucleu, adugndu-i-se i alte informaii.

 clri,
 fsck,
 du,
 df
Conf.dr.Carmen Timofte Sisteme de operare 14

7
(*)

 tergerea unui inod se realizeaz cu comanda:


$clri /dev/nume_fis_special i_number
terge din sistemul de fiiere asociat unui dispozitiv periferic
(nume_fis_special), inodul specificat prin numr (i_number).

$clri /dev/fd0 5
va terge inod-ul 5 din sistemul de fiiere asociat floppy-disk-ului fd0.

 $fsck [-sX][-D][nume_fis_special]
poate testa i repara sistemul de fiiere specificat prin nume_fis_special;
maniera de testare i reparare este interactiv. Testarea const n verificarea
consisten ntre valorile parametrilor memorai n tabelele Superblocului i Zona
de inod-uri.

Conf.dr.Carmen Timofte Sisteme de operare 15

(*)

Comenzile de afiare a informaiilor de pe disc

 $du [ -a | -s ] [ -k ] [ -l ] [ -r ] [ -x ] [ File ... ]

afieaz numrul de blocuri coninute n fiecare fiier file1 file2 ...filen;


implicit, se afieaz directorul curent;
-a afieaz i numrul de blocuri coninute n fiiere; implicit, se afieaz numai
directori;
-r afieaz mesaje de eroare pentru directorii care nu pot fi citii.
-s calculeaza suma blocurilor fisierelor/directoarelor
-k afiseaza in blocuri de 1024B= 1KB (implicit afiseaza in blocuri de 512B)

$du -a /usr/stud
afieaz directorii, inclusiv fiierele coninute cu numrul de blocuri ocupate din
directorul /usr/stud;

 $df [nume_fis_special] afieaz numrul de blocuri i inod-urile libere


pentru sistemul de fiiere specificat prin nume_fis_special; implicit, se
afieaz pentru toate sistemele de fiiere montate.

Conf.dr.Carmen Timofte Sisteme de operare 16

8
2.2.6. Montarea volumelor in SF
 Dispoz.perif. de I/E se ataseaza SF UNIX sub forma unor fisiere speciale constituite
ca o structura arborescenta (montarea fizica nu este suficienta)
 Comenzile se dau doar de user-ul root
 SF este utilizat doar daca este incorporat in structura de fisiere accesibilala la
pornirea sistemului; legarea SF la un director =>operatia de montare:
$mount [-r] /dev/tip_dispoz /nume_dir
 Demontarea se realizeaza cu comanda:
$umount /dev/tip_dispoz /nume_dir
 Crearea unei structuri arborescente de director pentru volum:
$mkfs /dev/tip_fis_special dimens_fis
 Crearea unui fiser spcial asociat unui dispozitiv periferic:
$mknod /dev/tip_fis_special {c/b} nr_maj nr_min
unde nr_maj =tipul dispozitivului (in octal), nr_min=numarul dispozitivului (in octal)

Conf.dr.Carmen Timofte Sisteme de operare 17

Comenzi de lucru cu SF
df [fis_special] Afieaz nr. Blocurilor disponibile pe volumul
specificat (implict pt. toate volumele)
df /dev/lv01

du [-ars] dir Afieaz nr. de blocuri alocate pe un volum sau pe un


director
du a /usr/user1/director -a = listeaz numele de fiiere i nr. de blocuri alocate
-r= scrie mesaje despre directoarele ce nu pot fi citite,
fiiere ce nu pot fi deschise
-s= afieaz nr. total de blocuri alocate

mkfs dev arg Creeaz un sistem de fiiere Unix pe dispozitivul dev,


conform argumentelor date (root).

fsck [-sX] [-D] sist_fis Testare i reparare sistem de fiere (root)

mount [fis_special dir [-r]] Vizualizare SF montate/ montare sisteme de fiiere (-


r = doar cu citire
mount /dev/lv01 /usr

umount fis_special Demontare dispozitiv special

Conf.dr.Carmen Timofte Sisteme de operare 18

S-ar putea să vă placă și