Vous êtes sur la page 1sur 25

MINISTERUL EDUCA IEI, CERCETRII,TINERETULUI I SPORTULUI GRUP COLAR INDUSTRIAL GRIGORE C.

MOISIL BUZAU

PROIECT
PENTRU EXAMENUL DE CERTIFICARE A CALIFICRII PROFESIONALE NIVEL 3

CALIFICAREA PROFESIONALA:TEHNICIAN OPERATOR TEHNIC DE CALCUL

TEMA PROIECTULUI:SISTEMUL DE OPERARE LINUX.SISTEMUL DE FISIERE

ABSOLVENT: ROU IULIAN-MARIAN

NDRUMATOR: PROF. ING. MIHAI IRINA

2011
1

CUPRINS
Organizarea fisierelor pag. 4 Structura standard de directoare..pag. 8 Informaii despre fiiere .pag. 14

ARGUMENTUL LUCRRII

ORGANIZAREA FISIERELOR
Toate programele de calculator manipuleaz informaii care trebuie stocate pe termen ndelungat, nu doar pe parcursul vieii unei comenzi sau aplicaii.Ca i n alte sisteme de operare, n Linux informaiile (date sau programe) vor fi memorate n fiiere (files), n mod uzual regsite pe sau alte medii externe de stocare. Se poate defini un fiier ca fiind o secvent de octei care servesc unui scop comun. Scopul acesta nu prezint importan pentru sistemul de operare, acesta asigurnd memorarea tuturor fiierelor n aceeai manier, fr a face nici o deosebire ntre ele. Managementul fiierelor este una dintre atribuiile principale ale sistemului de operare. Activitile de structurare, denumire, accesare, utilizare, protecie i implementare ale fiierelor se regsesc sub conceptul de sistem de fiiere (file system). Orice sistem de fiiere ndeplinete funcii precum: Stocarea persistent a informaiilor; Catalogarea informaiilor (servicii de directoare); Protecia folosirea n comun a informaiilor; Punerea la dispoziie a unei interfee ntre structurile interne de date ale nucleului sistemului i utilizator ; Oferirea unei interfee universale la resursele reelei din care face parte calculatorul. Fiecare sistem de operare ofer suport pentru propriile sale sisteme de fiiere, mai mult sau mai puin evoluate ori eficiente. Din punctul de vedere al utilizatorului, aspectele cele mai importante legate de un sistem de fiiere sunt modul de accesare i operaiile care pot fi efectuate asupra unui fiire i, de asemenea, modalitile de organizare a fiierelor.

Organizarea fiierelor
Sub Linux, ca i la alte sisteme Unix, pot fi suportate sisteme de fiiere multiple, coexistnd fr probleme. Acestea pot fi sisteme de fiiere: Fizice - sisteme de fiiere native Linux, precum ext2fs sau ext3fs,sisteme de fiiere utilizate de DOS/Windows (fat16,vfat,ntfs) sau alte sisteme de operare (i.e., folosite de Apple Macintosh,OS/2 etc.) sau sistemul de fiiere utilizat pentru stocarea datelor pe CD-ROM: iso 9660; Virtuale - nu organizeaz fiiere propriu-zise, ci informaii vehiculate de sistemul de operare, ca de exemplu sistemul de fiiere proc folosit att la

extragerea informaiilor din nucleu, ct i la ajustarea parametrilor acestuia; la distan sau distribuite- e.g., nfs (network file sistem),care permite accesarea de fiiere stocate pe alte calculatoare conectate intr-o reea, sau prospero. Sistemele fizice de fiiere sunt plasate ntr-o zon a unui mediu de stocare (n mod uzual, discul fix) care este denumit partiie. De menionat faptul c nu toate partiiile sau discurile sunt utilizate pentru a stoca sisteme de fiiere.De exemplu,partiia de swap nu conine nici un sistem de fiiere.

Tipuri de fiiere
Fiierele, la rndul lor, pot avea diverse tipuri, caracteristica principal a sistemului Linux fiind aceea c orice entitate a sistemului de operare (dat, memorie, process,dispozitiv fizic sau virtual , conexiune cu alt calculator etc.) este privit ca fiier. Astfel, fiierele n Linux(Unix)pot fi ordinare, directoare sau speciale. Fiierele ordinare sunt constituite dintr-un ir de octei, fiind de cele mai multe ori stocate pe disc. Se pot structura pe linii, caz n care se numesc fiiere text, fiecare linie coninnd caracterele afiabile i terminndu-se cu caracterul special Line Feed (LF). Fiierele care nu sunt organizate pe linii de text se vor denumi fiier binare i deseori sunt constituite din iruri de caractere care nu se pot afia n mod uzual, fiind folosite pentru stocarea de cod executabil, informaii multimedia, date diverse etc. Intern, fiierele ordinare nu posed nume, ci sunt identificate de sistem prin intermediul unui numr denumit i-number, un index al unui ir de i-noduri .Aceste inoduri conin diverse informaii(atribute)importante asociate unui fiier, dintre care enumerm: tipul; proprietarul (UID-identificatorul utilizatorului care deine acel fiier i GIDidentificatorul grupului utilizatorului); permisiunile, de trei tipuri: citire(read), scriere(write) i execuie(execute), grupate pe trei categorii: pentru proprietar(user), grupul din care face parte proprietarul(group) i alii ( others); lungimea n octei; timpii ultimei operaiuni de accesare, modificare i schimbare a strii(modificarea i-nodului nsui); numrul de legturi. Asupra acestor informaii vom reveni mai trziu. Fiierele directoare ofer modalitate de accesare prin nume i nu prin i-noduri a fiierelor, plus un mod de structurare ierarhic a acestora, n form arborescent (o rdcin avnd drept ramuri alte directoare, care la rndul lor pot include alte subdirectoare i aa mai departe). n Linux, numele de fiiere pot avea lungimea de maxim 255 de caractere, literele mici diferind de cele mari (case-sensitive). Astfel, numele de fiier Manual este considerat diferit de manual, ceea ce nu se ntmpl la sistemele de fiiere Windows. n componena unui nume de fiier, pot intra orice caractere, exceptnd / care reprezint delimitatorul de nume de director. Conceptul de extensie (cele 5

maxim trei caractere prefixate de punct care terminau numele unui fiier ) nu exist n Linux(Unix), fiind doar o convenie de denumire a fiierelor i nefiind impus de sistem. n mod obinuit, programele vor accesa datele stocate ntr-un anumit fiier fr a depinde de extensia acestuia, caracterul punct nefiind delimitator al numelui de extensia unui fiier. Dup cum vom vedea, extensiile . com sau . exe nu determin ca un fiier s devin executabil, aa cum era DOS/Windows (uzual, fiierele executabile nu extensie n Linux ). Totui, anumite utilitare impun existena unor extensii specifice (e.g.,compilatorul de C sau serverul Web ).Un nume de fiier poate conine deci oricte caractere . , fr nici o restricie(de exemplu, numele de fiier este perfect valid). Fiierele al cror nume ncepe cu punct (n genere fiiere de configurare ale aplicaiilor)vor fi invizibile n mod normal. Directoarele sunt stocate ca fiiere obinuite, permind astfel aranjarea fiierelor n manier ierarhic. Astfel un fiier va fi referit printr-o cale de directoare (path) care va avea n componen nume de directoare delimitate / i la sfrit numele fiierului dorit. n practic, s-a constatat c, deseori, utilizatorul lucreaz perioade lungi de timp n mod preponderent cu fiierele dintr-un anumit director (ceea ce este normal, deoarece structura de directoare a fost creat tocmai pentru a permite gruparea fiierelor dup rolul lor) Deoarece este relativ dificil a scrie de fiecare dat numele unui fiier precedat de cale pe care se afl n sistemul de fiiere, s-a introdus noiunea de director curent. Directorul curent are proprietatea c toate fiierele (i sub-directoarele) pe care le conine pot fi identificate prin numele lor, fr a mai fi necesar s se precizeze i calea. Pentru a evita conflictele, un sistem de fiiere nu posed dect un singur director curent la un moment dat. Utilizatorul poate schimba directorul curent n orice clip, dup dorin. Putem avea ci relative care ncep avnd ca punct de referin directorul curent sau absolute, acestea din urm fiind prefixate ntotdeauna de / i pornind de la directorul rdcin. Directorul rdcin (root) este stabilit atunci cnd se instaleaz sistemul de operare i va conine toate fiierele ce vor fi stocate ntr-un arbore consistent de directoare. Chiar dac vom putea accesa mai multe sisteme de fiiere, posibil aflate pe discuri ori calculatoare diferite, va exista un director rdcin unic, spre deosebire de alte sisteme de operare. Aadar, nu va mai trebui s prefixm calea de directoare spre un fiier de numele discului pe care acesta rezid (n fapt nici nu exist literele A:,C: sau D : care s desemneze discuri ori partiii, aa cum se petrecea la DOS/Windows). n cadrul fiecrui director, exist dou fiiere cu numele speciale . i .. care semnific directorul curent i directorul printe, respectiv . Desigur, pentru directorul / intrarea .. nu va avea sens. Aceste dou directoare cu nume special vor putea fi utilizate n specificarea cilor relative. De exemplu, ../tmp va desemna directorul tmp al directorului printe, iar .-doc-manual.pdf va conduce la fiierul manual . pdf aflat n sub-directorul curent. Putem aadar finaliza discuia referitoare la directoare cu urmtoarele observaii: cu unele excepii, numrul de fiiere dintr-un director nu este limitat; mai mult, spaiul ocupat de ctre un director depinde de numrul fiierelor, i nu de dimensiunea acestora, deoarece directorul nu conine fizic fiierele, ci doar informaii despre acestea; un director poate stoca nu numai fiiere, ci i alte directoare numite n acest caz sub-directoare; n acest fel, structura directoarelor de pe un disc este

arborescent. Drept consecin, trebuie s existe un director unic, denumit director rdcin, care poate conine sub-directoare, ns care nu este coninut de nici un alt director. Fiierele speciale sunt utilizate pentru a memora date privind dispozitivele fizice(discuri, imprimante, mouse etc.) sau virtuale (e.g., memoria intern, terminale). De asemenea, tot fiiere speciale sunt considerate mecanismele de pasare a datelor ntre procese locale (cozi First In First Out , referite i drept pipe-uri ) sau la distan (socket-uri). Fiierele speciale de tip dispozitiv pot fi orientate caracter citirile i scrierile se efectueaz direct, n mod uzual transferndu-se cantiti mici de date sau bloc citirile i scrierile se realizeaz prin intermediul unor zone de memorie tampon, buffer-ele. Terminalele sunt dispozitive caracter (character devices), iar discurile dispozitive bloc (block devices). Cum dispozitivele sunt, din punctual de vedere al sistemului, tot fiiere, putem utiliza aceleai comenzi i pentru fiiere i pentru periferice. Un program, aadar, poate fi folosit i implementat indiferent de tipul de fiier pe care-l poate manipula. Mai mult, fiierele speciale beneficiaz de mecanismul de protecie a fiierelor obinuite. Utilizatorul poate crea legturi care reprezint shortcut-uri ctre un fiier sau director, pentru a putea fi mai uor de regsit sau accesat ; astfel, un fiier poate fi regsit n cadrul sistemului de fiiere prin mai multe nume, eventual n directoare diferite. Legturile, spre deosebire de Windows, sunt implementate la nivel de sistem de fiiere i nu n cadrul interfeei cu utilizatorul. O asemenea legtur (link) este perceput de ctre utilizator drept fiier avnd un nume propriu, dar care n realitate refer un alt fiier de pe disc. Orice operaie care se execut asupra fiierului indicat de acea legtur. Dac este solicitat tergerea, efectul depinde de tipul legturii respective. Legturile pot fi de dou tipuri : fizice(hard links) i simbolice (symbolic links). n concluzie, sistemul de fiiere n Linux este caracterizat prin: structura logic arborescent a directoarelor ; tratarea dispozitivelor (terminale, imprimante, memorie etc.) n manier unitar i consistent, ca fiiere (n sensul conceptual al termenului); protecia resurselor prin intermediul unui sistem de permisiuni.

Structura standard de directoare


Orice sistem Linux prezint urmtoarea structur standard de directoare (standardizat n documentul File system Hierachy Standard - FHS); /bin include comenzile externe uzuale (vitale uneori) ale sistemului, ca de exemplubash, ls, pwd sau rpm; /sbin conine executabile suplimentare, utilizate doar de ctre administratorul sistemului (utilizatorul root). Executabilele sunt folosite doar pentru pornirea, oprirea i repararea sistemelor de fiiere (e.g.,init, runlevel sau fsck); /dev stocheaz dispozitivele sistemului (att pe cele periferice, ct i pe cele logice). Aceste fiiere speciale nu au lungime, ci o succesiune de dou numere desemnnd numrul major i minor al dispozitivului asociat. De exemplu, /dev/hda desemneaz primul hard-disk IDE, /dev/hda1 desemneaz prima partiie a primului hard-disk IDE, /dev/sda specific primul hard-disk SCSI, /dev/fd0 reprezint prima unitate de dischet, iar /dev/lp0 desemneaz primul port paralel .a.m.d. Tot n cadrul acestui director regsim /dev/mouse i /dev/cdrom care corespund mouse-ului i, respectiv, primei uniti CD-ROM. n fapt, aceste fiiere sunt de fapt legturi ctre fiierele de tip dispozitiv care desemnez perifericul folosit efectiv. De asemenea, exist un dispozitiv virtual /dev/null care joac rolul de gaur neagr a sistemului, orice am scrie ctre acest dispozitiv pierzndu-se definitiv; /etc conine fiiere de configurare i administrare ale diverselor utilitare li servicii de sistem. Se pot meniona : - /etc/paswd stocheaz informaii despre utilizatorii sistemului; - /etc/group conine informaii despre grupurile de utilizatori; - /etc/service ofer informaii despre serviciile de reea suportate; - /etc/protocols furnizeaz informaii despre protocoalele de reea suportate; - /usr include anumite fiiere utilizate de membrii sistemului. n mod normal, este montat ntr-o partiie separat, doar cu posibilitate de citire. Conine o serie de directoare dintre care menionm: - bin alte comenzi utile (e.g., aumix, bc,gcc sau pine); - sbin executabile i daemoni suplimentari pentru administrarea sistemului, altele dect cele din /sbin (e.g., crond,httpd, useradd); - lib- biblioteci folosite de diverse programe; - include fiiere antet (header) necesare dezvoltrii de aplicaii C; 8

games conine jocuri; share fiiere partajate de o serie de utilitare i aplicaii instalate n sistem (independente de platform); -

Accesul la fiiere (filiera grafic)


Desigur, utilizatorul nu trebuie s apeleze la vreun alchimist pentru a putea avea acces la datele stocate n fiiere i organizate n directoarele n cadrul sistemelor de fiiere prezentate n sistem. Calea preferat, mai ales de novici, este cea de a utiliza un manager de fiiere (file manager), utilitar care pune la dispoziie, ntr-o manier comod, instrumentele necesare accesului la fiiere i realizrii de operaii uzuale (copiere, redenumire, consultare i modificare a permisiunilor etc.). Mai mult dect att, fiecare din aceste managere de fiiere va pute fi folosit i pentru accesarea Web-ului sau accesul la fiiere aflate la distan via FTP (File Transfer Protocol). Fiecare manager de ferestre ofer i un manager de fiiere; n mediul vizual KDE putem folosi Konqueror, iar n Gnome putem recurge la Nautilus(vezi figurile de mai jos).Aceste programe pot fi lansate din meniul sistem al fiecrui manager de ferestre n arte sau de la prompt-ul interpretorului de comenzi, respectiv prin konqueror i nautilus. Funcionalitile sunt similare altor manageri de fiiere din alte sisteme de operare (e.g., Windows Explorer). Coninutul fiecrui director apare ntr-o fereastr compus dintr-o list de nume de fiiere. Fiecare fiier are asociat o pictogram(icon), n funcie de tip(fiier obinuit, director, arhiv, script, audio etc.), dar utilizatorul poate opta la o afiare textual, detaliat, a proprietilor de baz ale fiecrui fiier n parte (e.g., dimensiune, data ultimei actualizri, permisiuni).

Fig Managerul de fisiere Nautilius

1:

Fig. 2: Managerul de fisiere Konqueror Copierea sau mutarea fiierelor se realizaz prin operaia de drag and drop sau via mecanismul Copy/Cut&Paste,iar parcurgerea directoarelor se poate efectua prin intermediul butoanelor de navigare.De asemenea, acionnd click dreapta asupra pictogramei sau numelui unui fiier, se va afia un meniu contextual cuprinznd majoritatea operaiilor care se pot realiza asupra acelui fiier: Accesul la coninutul fiierului, n funcie de timp (pentru o arhiv se va apela programul de dezarhivare implicit, pentru un fiier text se va lansa un editor de fiiere, pentru un fiier multimedia se va apela un player etc., conform preferinelor utilizatorului); Redenumirea fiierului; tergerea fiierului; Consultarea proprietilor fiierului.

10

Fig. 3: Fereastra de proprietati ale unui fisier n plus, un manager de fiier ofer faciliti de cutare a fiierelor, conform mai multor criterii (dup nume, dup data ultimei modificri, dup localizare etc .).Iat o captur-ecran, n care e ilustrat cutarea tuturor fiierelor text din toate subdirectoarele directorului /home/busaco, modificate de cel mai mult o zi, fiiere care trebuie s conin termenul config:

11

Fig. 4:Cautarea unui fiier Considerm util aici i menionarea altor utilitare care pot fi folosite n contextul transferului fiierelor pe alte medii de stocare. Astfel, utilizatorul are la dispoziie programul mtools FM pentru a consulta, n mod grafic, dischetele DOS(sub sistemul de fiiere FAT), cu posibilitatea copierii de pe sau pe o astfel de dischet a unor fiiere. Sunt permise i alte operaii uzuale, precum redenumirea, mutarea, tergerea sau crearea de directoare. Avantajul const n faptul c dischetele nu trebuie montate, iar coninutul acestora poate fi accesat i de pe un sistem nonLinux. Pentru a putea utiliza acest program, trebuie instalat pachetul mtools.

12

Fig. 5 : Consultarea coninutului unei dischete cu mtoolsFM Un alt program folositor este cel care realizeaza formatarea unei dischete Floopy Formatter.Acest utilitar poate fi apelat si prin kfloppy sub KDE si gfloppy sub GNOME.

Fig.6 : Formatarea unei dischete folosind Floppy Formatter

13

Informaii despre fiiere


Cum directoarele stocheaz, fiind ele nsele fiiere, vom ncepe cu prezentarea comenzilor referitoare la directoare. Principale comenzi sunt: mkdir cale-creeaz un director; mkdir Lulu sau mkdir /Lulu rmdir cale-terge un director gol, n sensul c acesta nu conine dect intrrile . i ..; cd [cale]-schimb directorul curent de lucru n cale; cd / sau cd .. pwd -afieaz numele directorului curent (util atunci cnd ne-am rtcit prin hiul structurii de directoare). Argumentul cale reprezint o cale de directoare separate de caracterul slash /(de exemplu,/tmp/arhive/03feb sau .. /Documents/linux ). Afiarea coninutului unui director se obine n urma apelrii comenzii ls. Aceasta ofer mai multe opiuni, dintre care le menionm pe cele mai importante: -a listeaz i fiierele ascunse(cele ale cror nume ncepe cu caracterul .); -l afieaz formatul lung coninnd informaii suplimentare, cum ar fi cele referitoare la drepturile de acces, proprietar i grup, dimensiunea, data crerii etc.; -h are urmtorul efect: dimensiunile fiierelor sunt transformate din octei n kilo-octei(K)sau mega-octei(M) pentru a fi mai uor citite de utilizator; -R va lista i sub-directoarele, n mod recursiv (aceast opiune va putea fi folosit i n cazul altor comenzi). O comand poate avea un numr variabil de parametri(argumente)i de opiuni prefixate de caracterul -(se poate utiliza i varianta explicit a unei opiuni, prefixat de caracterele - -). Cum majoritatea comenzilor pot accepta un numr impresionant de opiuni, avizm cititorul c o practic bun este aceea de a consulta manualul oferit de sistem via comenzile man sau info(a se vedea seciunea 5.3 a capitolului 5). Urmeaz un exemplu de folosire a comenzii ls: (infoiasi) $ ls -la total 3416 drwxrwxr x 4 busco busaco 4096 Dec 21 14:57./ drwxr-xr-x 3 busaco busaco 4096 Oct 27 10:24../ -rw - - - - - - 1 busaco busaco 5422 Oct 13 19:19 acronime.tex -rw - - - - - - 1 busaco busaco 43591 Oct27 19:00 biblio.tex drwxrwxr-x 2 busaco busaco 4096 Oct27 10:26 eps / -rw-r- -r- 1 busaco busaco 2194474 Oct27 19:00 main.ps -rw- - - - - - 1 busaco busaco 5225 Oct24 19:21 main.tex -rw- - - - - - 1 busaco busaco 811 Sep10 2001 Makefile

14

-rw- - - - - - multum.tex -rw- - - - - - rezumat.tex -rw-rw-r- 1 drwxr-xr-x versions / -rw- - - - - - wmchap.sty

1 1 3 1

busaco busaco

busaco busaco

1650 17

Oct16 Aug22

12:51 16:10

busaco busaco 708449 Dec15 19:44 teza.tgz busaco busaco 4096 Oct27 19:01 busaco busaco 651 Sep10 2001

Apelul de forma ls -la este echivalent cu ls -l -a.n general, mai multe opiuni care nu sunt succedate de parametri suplimentari pot fi grupate ca i cum ar fi o singur opiune(se utilizeaz o singur dat caracterul - pentru specificarea opiunilor). Dup cum se observ din ieirea furnizat de comanda ls, numele fiecrui fiier este prefixat de numele de cont al proprietarului i grupul din care face parte acest proprietar. Filosofia UNIX / Linux precizeaz faptul c fiecare fiier aparine cuiva. Un identificator (UID) numeric asociat celui care posed fiierul (de obicei cel care l-a creat)este stocat pentru fiecare fiier n parte. Aceste aspecte vor fi dezvoltate n capitolul 4. Drepturile de acces sunt afiate de comanda menionat mai sus printr-o secven de zece caractere. Primul caracter se refer la tipul fiierului, dup cum urmeaz: - - fiier obinuit; b-fiier special de tip bloc; c-fiier special de tip caracter; d-director; l-legtur; p-pipe; s-socket. Dup cum am vzut ,fiecare fiier are asociate anumite drepturi de acces, numite i permisiuni. Le putem vedea n coloanele 2-10 din ceea ce afieaz ls -l. Cele trei drepturi asociate celor trei categorii (utilizator,grup,alii) sunt: r-citire(Read); w-scriere(Write); x-execuie(eXecute). Ele arat dac un fiier poate fi citit, modificat sau, respectiv, executat(pentru fiiere de tip director poate fi cutat)de utilizator. Ca exemplu concret s lum un fiier avnd permisiunile: r-x-w- - -x \_/ \_/ \_/ \ \ \_ restul lumii (others) \ \__ grupul (group) \___ posesorul (user)

15

Acest lucru specific urmtoarele: posesorul fiierului poate citi i executa acest fiier, dar nu l poate modifica; utilizatorii din grupul fiierului pot modifica acest fiier, ns nu l pot citi sau executa; ceilali utilizatori pot doar executa fiierul, dar nu l pot citi sau modifica. De asemenea, fiierele mai au trei atribute speciale. Acestea se numesc:SUID, SEGID i Sticky (lipicios), semnificaia lor fiind: SUID (Set User ID):un fiier cu acest atribut setat arat faptul c execuia sa d natere unui proces care are proprietar pe posesorul fiierului, i nu pe posesorul procesului care execut fiierul(de exemplu, comenzi ca passwd sau cehfn pot fi executate i de utilizatori obinuii, cu toate c au acces la resurse privilegiate ale sistemului-fiierele/ etc/ passwd i/ etc / shadow ). O permisiune SUID setat este indicat de comanda ls -l printr-un s n loc de x: (infoiasi) $ ls -l /usr/bin/chfn-rws - -x- -x 1 root root 13184 Aug 31 2003 /usr/bin/chfn SGID(Set group ID) are o funcie similar, acionnd asupra grupului procesului. Aceste dou permisiuni nu au sens dect dac fierul este executabil. Sticky (lipicios), afiat prin caracterul t, pentru directoare indic faptul c n directoarele n care oricine poate scrie (e.g.,/tmp), teoretic, oricine poate terge orice fiier. Asociind o permisiune lipicioas pe un astfel de director, vom permite tergerea unui fiier doar de ctre proprietarul lui. Un exemplu (opiunea d a comenzii ls este necesar pentru a lista drepturile directorului / tmp, i nu pe cele ale tuturor fiierelor n el) ar fi: (infoiasi) $ ls -ld / tmp drwxrwxrwt 3 root root 1024 Jul 26 00:10 / tmp /

permisiunea sticky Modificarea drepturilor se realizeaz prin intermediul comenzii chmod. Pentru proprietar, se utilizeaz litera u pentru grup g, iar pentru ali utilizatori o. Pentru acordarea, respectiv revocarea drepturilor indicate mai sus corespund caracterele +, respectiv -. De exemplu, dac se dorete s se acorde drepturi de citire grupului cruia i aparine utilizatorul pentru fiierul cv. Html, se va scrie: (infoiasi) $ chmod g +r cv. html Anularea drepturilor de execuie i scriere pentru grup i proprietar se va realiza prin: (infoiasi) $ chmod ug -wx cv. html 16

Pentru a da dreptul de execuie tuturor categoriilor de utilizatori (proprietar, grup i alii), se folosete: (infoiasi) $ chmod +x cv. html Mai exist o modalitate de modificare a drepturilor, relativ mai complicat, dar care ar fi preferat de matematicieni i informaticieni. Fiecrui grup de drepturi i se asociaz un numr dup cum urmeaz: fiecrui drept acordat i corespunde valoarea 1, iar pentru fiecare drept anulat -0. Astfel, rezult un numr de trei cifre binare care se transform apoi n baza 8 (octal). De exemplu, pentru rw- asociem 110, care n octal este 6. Drepturile rwxr-xr- - i rwx-x- -x vor corespunde valorilor 751 i, respectiv, 711. Stabilirea drepturilor de citire, scriere pentru utilizator i grup i de citire pentru ceilali ce realizeaz astfel: (infoiasi) $ chmod 664 cv. html Pentru modificarea proprietarului se utilizeaz comanda chown: (infoiasi) $ chow busaco cv. html Aceast comand permite simultan i schimbarea grupului: (infoiasi) $ chown busaco : profs cv. html (infoiasi) $ chown www : nobody /home /httpd/cgi-bin/* Comanda chgrp modific grupul unui fiier: ( infoiasi) $ chgrp studs cv .html O alt comand util este file. Aceasta ncearc s determine tipul unui fiier: ( infoiasi ) $ file ~ /Documents/ex/* DESIGN.JPG : JPEG image data, JFIF standard 1. 01, resolution (DPI),72x72 eps: directory export.tx: ASCII English text, with wery long lines file-ex: ASCII text index2.cgi.html: HTML document text main.ps: PostScript document text conforming at level 2.0 main.tex: ASCII English text Makefile: ASCII make commands text multum.tex: ASCII text prog: ELF 32-bit LBS executable, Intel 80386, version 1(SYSV), for GNU/Linux 2.2.5,dynamically linked (uses shared libs),stripped sigla.gif: GIF image data, version 89a, 40x40 teza.tgz: gzip compressed data, from Unix typescript: ASCII text, with CRLF, LF line terminators n acest exemplu, observm c file ghicete diverse tipuri de fiiere, precum cele text (scrise eventual n limba englez), grafice sau executabile. n funcie de tip, se pot oferi i diverse alte detalii folositoare. O comand care prezint interes este i stat, scopul ei fiind cel de afiare a diferitelor informaii despre fiiere.

17

n exemplul de mai jos, aflm informaii privitoare la directorul home al unui utilizator: ( infoiasi) $ stat File : / home/dragos Size: 2048 Filetype: Directory Mode: ( 0755/ drwxr-xr-x) Uid: ( 563/ dragos) Gid: ( 202/profs) Device:8 , 0 Inode: 79576 Links: 13 Access : Tue Nov 23 12 :43 :30 2004( 00000. 00 :02 :12) Modify :Tue Nov 23 12 :43 :31 2004(00000.00 :02 :11) Change :Tue Nov 23 12 :43 :31 2004( 00000.00 :02 :11) Comanda du afieaz dimensiunile tuturor sub-directoarelor din directorul curent sau dintr-un director precizat. Se pot utiliza urmtoarele opiuni: -h: dimensiunilor sunt scrise n kilo-octei sau mega-octei pentru a fi ct mai uor citite de utilizator. -s: se va afia doar dimensiunea directorului curent. -a: listeaz dimensiunile fiierelor Un exemplu ar fi: ( infoiasi) $ du /usr/lib/xine/ 228K /usr/lib/xine/plugins/ 1.0.0./post 204K /usr/lib/xine/plugins/1.0.0./vidix 4, 9M /usr/lib/xine/plugins/1.0.0 4, 9M /usr/lib/xine/plugins 4, 9M /usr/lib/xine Comanda df listeaz informaii privitoare la spaiul liber al partiiilor de disc.Aceast comand are aceleai opiuni ca i comanda du. ( infoiasi) $ df

Filesystem 1k-blocks Mounted on /dev/sda3 /dev/sda2


/dev/sdb2 none /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda9 /dev/sda8

Used

Available 61% /

Use%

3660632 2095384 1379296 132221 58245 67149

47% /boot

/dev/sda10 5542276 3780012 1480728 72% /home


16500568 5962680 9699700 39% /home/profs 385840 0 385840 0% /dev/shm 489992 8382 456310 2% /tmp 988212 198788 739224 22% /var 988212 334756 603256 36% /var/log 3945128 961368 2783352 26% /var/spool/mail 743132 23148 68223 64% /var/spool/mqueue

18

Varianta grafic a comenzilor df i du se regsete n meniul KDE sub numele utilitarului KdiskFree (care poate fi apelat prin kdiskfree). Varianta grafic a comenzilor df si du se regasete in meniul KDE sub numele utilitarului KDiskFree:

Fig. 7: Vizulalizare de KDiskFree a spaiului rmas liber pe dispozitivele de stocare Aceste comenzi sunt utile mai ales cnd apar probleme cu spaiul de pe disc. O alt util poate fi tree, care afieaz structura arborescent a directoarelor. De exemplu, pentru a obine sub-directoarele directorului /, vom putea folosi: (infoiasi) $ tree /-d-L 1 / |--bin |--boot |--dev |--etc |--home |--initrd |--lib |--mnt |--opt |--proc |--root |--sbin |--tmp |--usr |--var 15 directories Operaii cu fiiere

19

Nu am uitat de comenzile pentru realizarea operaiunilor de baz cu fiierele. A sosit vremea s le menionm succint: cp - realizeaz copierea unui fiier sau grup de fiiere, sintaxa uzual a comenzii fiind: cp surs destinaie. -mv - mut/ redenumete fiiere, avnd aceeai sintax ca i cp; ln-cu sintaxa ln surs destinie - permite unui fiier s aib un nume complementar( mai multe nume de fiiere pot desemna acelai fiier; legturile pot fi hard ( se creeaz i o copie a coninutului fiierului; la tergerea copiei, fiierul original este pstrat)sau soft(legtura simbolic va conine doar calea ctre fiierul surs; tergerea copiei determin i tergerea originalului); a se parcurge i cele descrise n seciunea 2.1; Pentru a crea o legtur simbolic, vom introduce o linie de genul: ( infoiasi) $ ln -s capitol3.txt ../../copie/capitol3-0221.txt rm- terge fiiere, avnd sintaxa rm fiier( e). Atenie! Fiierele terse nu pot fi recuperate n nici un mod! Pentru toate comenzile de mai sus, exist o serie de opiuni folositoare: -f- foreaz ndeplinirea aciunii, fr confirmare din partea utilizatorului sau ignornd erorile care pot surveni; -i- mod interactiv, interognd utilizatorul dac ntr-adevr dorete s realizeze ceea ce s-a simplificat (utilizai-o mai ales la rm); -v- afieaz mai multe informaii la execuia comenzii respective; -R- mod recursiv, comanda executndu-se asupra tuturor sub-directoarelor (foarte periculoas dac apare la rm, mai ales mpreun cu opiunea -f). Urmeaz un exemplu de folosire a comenzii rm (dorim s tergem interactiv o serie de fiiere temporare, al cror nume se termin cu caracterul tilda ): ( infoiasi) $ ls *~ apropos-ex~ mfile-ex~ ls-ex~ mount-ex~ ( infoiasi) $ rm *~ -i rm: remove regular file apropos-ex~? y rm: remove regular file file-ex~?y rm: remove regular file ls-ex~ ?n rm: remove regular file mount-ex~ ?y ( infoiasi) $ ls *~ ls-ex~ Cutarea sofisticat a fiierelor este posibil cu ajutorul comenzii find . Asupra fiierelor gsite se pot efectua i diverse operaii (de exemplu, execuia unor comenzi).Cutarea se va realiza pornind de la un anumit director care va fi explorat conform criteriilor de cutare alese. Sintaxa general a comenzii find este: find [cale] [expresie] [aciune] Componenta cale reprezint calea de directoare de la care se va ncepe cutarea, expresie semnific o expresie definind criteriul de cutare, iar aciune specific aciunea care va fi efectuat la gsirea unui fiier. Cutarea se poate realiza dup : numele unui fiier-se folosete opiunea name specificator, n care specificator reprezint un specificator de fiier(se pot utiliza, desigur, meta-caracterele de substituie,precum: *sau ? ); tipul unui fiier-se folosete opiunea type tip, unde tip pate fi unul dintre caracterele :f (fiier obinuit),d(director),l( legtur simbolic) etc. ;

20

numele proprietarului-se utilizeaz opiunea-user nume,unde nume poate fi numele sau UID-ul proprietarului fiierului ; grupul proprietarului-se folosete-group nume, unde nume poate fi un nume de grup sauun GID. Exist o multitudine de alte opiuni care pot compune o expresie de cutare ;pentru amnunte,parcurgei paginile de manual dedicate comenzii find. Ca aciune executat la gsirea unui fiier, putem avea : afiarea numelui fiieului gsit-se folosete opiunea-print(implicit) execuia unei comenzi-se utilizeaz opiunea-exec.irul de caractere{} va substitui numele fiierului gsit i va putea fi dat ca argument al comenzii care va fi executat. Vom sfri lista argumentelor paste comenzii cu caracterul ;. De exemplu, cutarea tuturor imaginilior GIF din contul utilizatorului curent se va putea face astfel : ( infoiasi) find ~ -name *gif -print Identificare fiierelor utilizatorului dragos din directorul /tmp se va putea realiza prin linia: ( infoiasi) find /tmp -user dragos -print Pentru a terge toate fiierele temporare (al cror nume este terminat cu .bak sau ~), vom putea da urmtoarea comand: find / -name * . bak -o -name *~ -exec rm {} ; S-au utilizat ghilimelele pentru ca interpretorul de comenzi s nu intercepteze greit caracterele speciale {}sau ;.Opiunea o semnific operatorul logic sau (or).Pot fi precizai i operatorii i (and) prin a i negaie (not)prin caracterul !. Am discutat mai sus de utilitarul mtools FM . Aceleai funcionaliti se regsesc sub o serie de comenzi, foarte asemntoare comenzilor uzuale din DOS pentru accesarea dischetelor formatate FAT. Discheta va fi accesibil prin numele a:, exact ca n DOS, ns pentru fiierele stocate de sistemul Linux se vor aplica regulile acestuia (a se revedea seciunea 2.1 a capitolului de fa). Fiecare comand din pachetul mtools are numele prefixat cu litera m. Astfel, pentru operaiile de copiere, redenumire, tergere de fiiere, vor putea fi folosite comenzile mcopy ,mren i, respectiv,mdel.Pentru schimbarea unui director de pe dischet se va utiliza mcd, iar operaiile uzuale cu directoaare vor fi realizate via comenzilor mmd (creare de director)i mrd (tergere de director). Formatarea unei dischete ca dischet DOS se va face prin comanda mformat. Pentru a vizualiza coninutul unei dischete, vom putea introduce (pentru fiierele avnd nume lungi va fi listat i numele scurt DOS, compus din 8 caractere plus 3caractere extensia): (infoiasi)$ mdir Volume in drive A has no label Volume Serial Number is C06E-ECE2 Directory for A:/ TEZA M~1 TGZ 708449 2003-12-15 19:48 teza-main. Tgz bk <DIR> 2003-12-15 19:49 bk 2 files 708 449 bytes 39 936 bytes free Vom copia toate fiierele stocate ntr-un director local pe dischet, apoi vom terge ntreg coninutul directorului bk2: (infoiasi)$ mcopy ~/Documents/linux-book/* a: 21

(infoiasi)$ mdel a:/bk/* (infoiasi)$ mmd a:/bk2 La final, reafim coninutul sistemului de afiare FAT stocat de dischet: (infoiasi)$ mdir Volume in drive A has no label Volume Serial Number is C06E-ECE2 Directory for A:/ TEZA-M~1 TGZ 708449 2003-12-15 19:48 teza-main. Tgz bk <DIR> 2003-12-15 19:49 bk jobs-ex 118 2003-12-23 13:46 jobs-ex ps2-ex 473 2003-12-23 13:46 ps2-ex ps-ex 128 2003-12-23 13:46 ps-ex ps-ex~ 128 2003-12-23 13:46 ps-ex~ TYPESC~1 0 2003-12-23 13:48 typescript bk2 <DIR> 709 821 bytes 10 files 744 960 bytes free Desigur, exist la dispoziia utilizatorului i alte comenzi privitoare la fiiere, o parte dintre ele aprnd pe parcursul crii. Montarea i demontarea sistemelor de fiiere Pentru a accesa un mediu de stocare(hard-disk, dischet, CD sau DVD etc.)i implicit sistemul acestuia de fiiere, n alte sisteme de operare nu trebuie dect ca acest mediu s fie montat fizic. n Linux(UNIX),este necesar ca fiecare mediu de stocare s fie montat i logic. Dispozitivele montate vor fi integrate n cadrul structurii arborescente de directoare, pstrndu-se coerena organizrii logice a informaiilor. Astfel, o dischet montat nu va fi regsit sub un nume simbolic precum A :(aa cum se ntmpl la DOS/Windows), ci va face parte din arborele de directoare al sistemului. Pentru fiecare dispozitiv montat, va trebui astfel precizat un punct de montare (mounting point) i tipul de sistem de fiier utilizat (e.g vfat pentru o dischet sau disc folosind sistemul FAT din DOS/Windows 9x, ntfs pentru un disc folosind NTFS din Windows 2000/XP, iso9660 pentru CD-ROM etc.). Toat ierarhia de fiiere i directoare ale unei partiii sau ale unui disc poate fi montat n orice director al arborelui sistemului. Dup montare, directorul rdcin al sistemului de fiiere montat nlocuiete coninutul directorului unde a fost montat. Chiar i partiiile hard-disk-ului necesit montarea pentru a putea fi citite i eventual modificate. La instalarea sistemului, vor fi precizate care partiii vor fi montate n mod automat. Un exemplu notabil n acest sens l reprezint partiia mont ca ierarhie rdcin, care constituie primul sistem de fiiere montat la pornirea sistemului. De remarcat e faptul c este imposibil demontarea acestei partiii n timpul funcionrii sistemului Linux. Montarea automat a sistemelor de fiiere este controlat prin intermediul fiierului /etc/fstab, un exemplu fiind redat mai jos. # Nume dispozitiv Punct de montare Tip Optiuni Dump Fsck /dev/hda1 / ext3 defaults 1 1 /dev/hda2 swap swap defaults 0 0 /dev/hda3 /mnt/win vfat defaults 0 0

22

none /dev/fd0 /dev/scd

/proc /mnt/floppy /mnt/cdrum

proc vfat iso9660

defaults 0 noauto,user 0 noauto,ro,user 0

0 0 0

n exemplul de mai sus, este montat n mod automat i partiia Windows. Se permite montarea dischetelor i a CD-urilor i de ctre utilizatorii obinuii. Avizm cititorul c sistemul Linux poate citi partiia pe care rezid un alt sistem de operare(e.g.,Windows), dar acest lucru nu nseamn ca obligatoriu poate folosi i aplicaiile acelui sistem de operare. Comenzile mount i umount Administratorul de sistem poate crea directore specifice pentru fiecare dispozitv montat(automat sau nu)n sistem, punctele de montare n mod uzual fiind subdirectoare ale directorului/mnt. Astfel, n directorul /mnt pot exista (create de cele mai multe ori la instalarea sistemului)directoare precum: /mnt/floppy-corespunde dischetei; /mnt/cdrom-desemneaz unitatea de compact-disc; /mnt/dos sau /mnt/win- corespunde primei partiii Windows. Pentru a monta un sistem de fiiere folosit de un anumit dispozitiv, vom recurge la comanda mount avnd forma: mount -t tip dispozitiv punct_montare unde dispozitiv reprezint un nume de fiier de tip dispozitiv din directorul /dev(de exemplu, /dev/hda1 pentru prima partiie a primului hard-disk IDE),tip este tipul sistemului de fiiere ce urmeaz a fi montat (ca valori tipice putem indica vfat,ntfs sau iso9660),iar punct_montare desemneaz directorul n care se va monta dispozitivul. Aciunea de montare poate fi efectuat n mod uzual doar de utilizatorul root. Pentru a monta un CD-ROM, vom putea da urmtoarea comand (am presupus c /dev/hdc este fiierul de tip dispozitiv asociat unitii de CD): (infoiasi)# mount -t iso9660 /dev/hdc /mnt /cdrom Comanda mount poate fi utilizat i pentru a afia dispozitivele montate din sistem (inclusiv cele care se monteaz automat la iniializarea sistemului): (infoiasi) mount /dev/hdd6 on / type ext3( rw) none on /proc type proc( rw) none on /proc/bus/usb type usbdevs( rw) none on /dev type devfs( rw) none on /dev/pts type devpts( rw,mode=0620) /dev/hdd7 on /home type ext3( rw) none on /mnt/cdrom type supermount ( ro,dev=/dev/hdc,fs=auto,- -,iocharest=iso 8859-1,codepage=850,umask=0) none on /mnt/floppy type supermount ( rw, sync,dev=/dev/fd0, fs=auto, - -,iocharest =iso 8859-1,codepage =850,umask=0) /dev/hdal on/mnt/win_c type vfat( rw,iocharest=iso8859-1,codepage=850,umask=0) /dev/hddl on/mnt/win_c2 type vfat( rw,iocharest=iso8859-1,codepage=850,umask=0) /dev/hda5 on/mnt/win_d type vfat(rw,iocharest=iso8859-1,codepage=850,umask=0) Din ieirea comenzii mount, putem deduce c n exemplul de fa este un sistem avnd dou hard-disk-uri(/dev/hda i /dev/hdd), o unitate floppy (dev/ fd0) i o unitate de CD-ROM(/dev /hdc).

23

Unele sisteme de fiiere pot fi montate doar n regim de consultare, fr a putea fi permis scrierea(este cazul unitii de CD).Pentru aceasta putem folosi opiunea -r a comenzii mount. Stabilirea diverselor opiuni de montare se realizeaz cu ajutorul opiunii -o. Demontarea unui dispozitiv se realizeaz cu umount, ca parametru trebuind s fie indicat punctul de montare ori numele dispozitivului. Trebuie menionat aici c directorul curent nu trebuie s se afle n ierarhia directorului n care este montat dispozitivul, n caz contrar va fi semnalat eroare. Dac a fost utilizat un dispozitiv movibil (e.g.,dischet) i, n special, dac s-au efectuat operaii de scriere, este obligatorie demontarea acestuia nainte de a fi extras din unitate, altfel datele pot fi alertate! Exemplificare Presupunem c dorim s accesm o memorie Flash disponibil la portul USB. Distribuia Mandrake ofer suport pentru asemenea dispozitive, fr a mai trebui recompilat nucleul sistemului de operare. Vom considera c fiierul de tip dispozitiv asociat memoriei Flash este /dev/sdb1, iar sistemul de fiiere este VFAT. Dac ncercm s montm un dispozitiv deja montat sau unul inexistent, vom obine eroare: (infoiasi)# mount -t vfat /dev/sda1 /mnt/cdrom mount: /dev/sda1 mounted or/mnt/cdrom busy mount: according to mtab, /dev/sda1 is mounted on/ (infoiasi)# mount -t vfat /dev/sdb /mnt/usb mount: special device /dev/sdb does not exist Dup montare, dac ncercm s remontm acelai dispozitiv, sistemul va semnala eroare: (infoiasi)# mount -t vfat /dev/sdb1 /mnt/usb (infoiasi)# mount -t vfat /dev/sdb1 /mnt/usb mount: /dev/sdb1 already mounted or/mnt/usb busy mount: according to mtab, /dev/sdb1 is already mounted on/mnt/usb n cazul n care totul e decurs cu succes, putem consulta coninutul sistemului de fiiere montat: (infoiasi)# cd /mnt/usb (infoiasi)# ls CIPC-final/ linux-book/ today-16ian/ Daniel/ multimedia-book/ w3c-2004.txt* Hig-1.0.tar.gz* referat.tex* wall_mp3/ La urm, vom demonta memoria Flash (dup demontare, punctul de montare nu mai conine nimic) : (infoiasi)# umount /mnt/usb (infoiasi)# ls /mnt/usb (infoiasi)# Dac dorim s extragem n mod automat un mediu de stocare dintr-o unitate movibil, vom putea folosi comanda eject care va demonta n prealabil acel dispozitiv. (infoiasi)# eject /dev/cdrom Accesul prin managerul de ferestre la dispozitivele montate

24

Dac suntem ntr-o sesiune X Window, fiecare mediu grafic va afia pe desktop pictogramele corespunztoare dispozitivelor care pot fi montate automat la inserarea unui mediu de stocare (unitatea de dischet i compact-discul). Dnd click dreapta pe o asemenea pictogram, vom putea avea acces la un mediu contextual permind executarea unor operaiuni asupra sistemului de fiiere montat (o aciune uzual este demontarea, desigur).

Fig. 8 :Operaii asupra unui CD montat

25