Sunteți pe pagina 1din 12

Lucrarea nr.

4 Gestionarea ierelor, directoarelor i s s proceselor Linux n


Scopul acestei lucrri este elegerea i testarea comenzilor de baz folosite pentru a nt s a manipularea ierelor, directoarelor i proceselor Linux, elegerea modului de lucru s s n nt cu editoarele simple de text i elegerea comenzilor de baz pentru setarea drepturilor s nt a utilizatorilor asupra ierelor i directoarelor. s s

4.1.

Operatori de redirectionare

linux exist trei dispozitive logice de intrare/ieire: In a s Intrarea standard (stdin), de la care se citesc datele de intrare. Implicit, intrarea standard are asociat tastatura. a Ieirea standard (stdout), unde sunt aate datele de ieire. Implicit, ieirea standard s s s s are asociat terminalul curent (consola). Ieirea de eroare standard (stderr ), la care sunt aate mesajele de eroare. Implicit, s s aceasta are asociat terminalul curent (consola). cadrul shell -ului, exist posibilitatea redirectionrii acestor dispozitive, dup cum In a a a urmeaz: a redirectionarea intrarii se realizeaz prin intermediul operatorului de redirectionare a <; redirectionarea ieirii se poate face cu ajutorul operatorului >. Spre exemplu, s comanda dmesg > sier1 va trimite ieirea comenzii dmesg ctre ierul sier1. De s a s asemenea, poate utilizat i operatorul >> care, spre deosebire de operatorul >, s nu suprascrie ierul spre care se face redirectionarea, ci adaug ieirea la sfritul s a s as acestuia; redirectionarea ieirii de eroare se realizeaz cu 2 >, cifra 2 reprezentnd numrul s a a a descriptorului de ier corespunztor ieirii standard pentru erori (stderr ). s a s Redirectionarea poate utilizat rnduri multiple cadrul unei linii de comand, a n a n a avnd forma de mai jos: a comanda < date intrare > rezultate Un mecanism frecvent utilizat linia de comand este mecanismul pipe care const n a a n antuirea comenzilor: prima comand trimite ieirea standard celei de-a doua comenzi, nl a s 19

Bazele Utilizrii Calculatoarelor a

.a.m.d. Trimiterea ieirii se realizeaz cu operatorul |. Sintaxa acestui mecanism este: s s a comanda1|comanda2 O utilizare frecvent a acestui mecanism o constituie comenzile de tip ltru. Cele mai a uzuale comenzi de acest gen sunt: more - pagineaz textul primit ca intrare, cu posibilitatea de delare jos cu cte o a n a linie (cu tasta Enter ) sau cu cte o pagina de ecran (cu tasta Space). (ex. dmesg|more) a less - pagineaz textul primit ca intrare (ca i comanda more), cu posibilitatea de a s delare jos sau sus cu cte o linie (cu tastele i ) sau cu cte o pagina de ecran (cu n n a s a tastele PageDown i PageUp). (ex. dmesg | less) s grep expresie - caut irul de caractere expresie cadrul intrrii, transmitnd la ieire as n a a s doar liniile de text care contin respectivul ir (ex. dmesg | grep CP U - aeaz doar liniile s s a care contin irul de caractere CPU din ieirea comenzii dmesg). Sirul de caractere cutat s s a poate contine i unul din urmtoarele meta-caractere: s a - indic a nceputul unei linii (ex. dmesg | grep CP U - aeaz doar liniile care s a contin la nceput irul de caractere CPU ) s $ - indic sfritul unei linii (ex. dmesg | grep IRQ 18 $ - aeaz doar liniile care a as s a contin la sfrit irul de caractere IRQ 18 ) as s

4.2.

Editoare de text

Unul din cele mai simple editoare de text din Linux se numete nano (gura 4.1). s Acesta se poate lansa executie prin aplearea lui linia de comand a consolei, fr nici n n a aa un parametru suplimentar sau avnd ca i parametru numele ierului de editat (ex. nano a s s sier1 ).

Figura 4.1: Editorul de text nano. Editorul nano contine dou zone principale: zona de editare i meniul cu functii acce a s sibile editor. Functiile accesibile utilizatorului sunt prezentate tabelul 4.1. n n 20

Lucrarea nr. 4

Tabelul 4.1. Functii ale editorului nano

Functie Ctrl+G Get Help Ctrl+X Exit Ctrl+O WriteOut Ctrl+J Justify Ctrl+R Read File Ctrl+W Where Is Ctrl+Y Prev Pg Ctrl+V Next Pg Ctrl+K Cut Text Ctrl+U UnCut Text Ctrl+C Cur Pos Ctrl+T To Spell

Semnicatie Aeaz informatii detaliate despre functiile editorului s a Inchide editorul Scrie modicrile ier a n s Formateaz textul din paragraful curent a Adaug continutul unui ier pagina curent a s n a Caut un cuvnt i pozitioneaz cursorul la a a s a nceputul acestuia Trece pagina precedent n a Trece pagina urmtoare n a Sterge linia curent i o copiaz memorie as a n Scrie linia copiat memorie la pozitia cursorului a n Aeaz pozitia curent a cursorului s a a Apeleaz corectorul de text a

cazul care editorul este lansat executie fr nici un parametru acesta va cere In n n aa salvarea datelor ntr-un ier momentul apelrii functiilor WriteOut sau Exit. s n a Pe lng nano, Linux se pot folosi editoare de text mult mai complexe, cum ar : vi, a a n vim, latex, joe consol sau KEdit, KWrite, gvim modul grac. n a n

4.3.

Fiiere i directoare s s

Ca i alte sisteme de operare, interpretorul de comenzi din Linux permite vizualizarea, s n copierea, mutarea, stergerea sau redenumirea ierelor i directoarelor. Comenzile destis s s nate acestor operatii sunt accesibile tuturor utilizatorilor. Aceste operatii sunt conditionate de drepturile utilizatorului asupra ierelor sau directoarelor asupra crora se efectueaz s a a operatia. ls optiuni director - aeaz ierele i subdirectoarele dintr-un director (gura 4.2). s a s s Optiuni: (fr optiuni) - aeaz doar numele ierelor i subdirectoarelor a a s a s s -l - aeaz urmtoarele informatii suplimentare despre iere i directoare: dreps a a s s turile de acces, numrul de legturi, dimensiunea ierelor, data ultimei actualizri, numele a a s a ierelor sau directoarelor s -h - aeaz dimensiunea ierelor Kb, Mb, Gb (implicit, dimensiunea este aat s a s n s a bytes) n -t - sorteaz ierele i directoarele dup data ultimei actualizri a s s a a -u - la aare se ia considerare data ultimei accesri loc de data ultimei actus n a n alizri (pentru optiunile -l i -t) a s -r - inverseaz ordinea de sortare a -R - aeaz i continutul subdirectoarelor s as -a - aeaz i directoarele . i .. (. - directorul curent; .. directorul s a s s printe) a -A - nu aeaz directoarele . i .. s a s 21

Bazele Utilizrii Calculatoarelor a

Figura 4.2: Comanda ls. cd locatie - schimb directorul curent locatie (gura 4.3). Parametrul locatie poate a n avea ca i valori numele unui director sau urmtoarele legturi simbolice: s a a .. - schimb directorul curent directorul printe (ex. cd ..) a n a - schimb directorul curent directorul personal al utilizatorului curent (ex. cd a n - schimb directorul curent in /root dac utilizatorul curent este root) a a

Figura 4.3: Comanda cd.

s a s a a s touch optiuni nume ier - creeaz un ier sau schimb data accesrii unui ier (gura 4.4). Optiuni: (fr optiuni) - creeaz un ier nou a a a s -a - schimb data ultimei accesri a ierului a a s -m - schimb data ultimei modicri a ierului a a s 22

Lucrarea nr. 4

Figura 4.4: Comanda touch. cat operator nume ier - aeaz continutul unui ier (gura 4.5). Comanda cat se s s a s poate folosi i cu operatorii de redirectionare a ieirii pentru scrierea datelor ier. s s n s

Figura 4.5: Comanda cat. a mkdir optiuni nume director - creeaz unul sau mai multe directoare (gura 4.6). Optiuni: (fr optiuni) - creeaz un director nou a a a -v - aeaz un mesaj la creearea ecrui director s a a -p - creeaz un director a mpreun cu directoarele printe, dac acestea nu exist a a a a

Figura 4.6: Comanda mkdir. s rmdir optiuni nume director - terge unul sau mai multe directoare. Optiuni: (fr optiuni) - terge un director (dac acesta este gol) a a s a -v - aeaz un mesaj la tergerea ecrui director s a s a -p - terge o structur de directoare (ex. rm -p test/dir1 - sterge directorul test i s a s subdirectorul dir1 ) 23

Bazele Utilizrii Calculatoarelor a

rm optiuni ier/director - terge unul sau mai multe iere sau directoare (gura 4.7). s s s Optiuni: -i - cere permisiunea de tergere a ecri ier sau director s a s -r - terge recursiv continutul subdirectoarelor (ierele i subdirectoarele acestora) s s s -v - aeaz un mesaj la tergerea ecrui ier sau director s a s a s

Figura 4.7: Comanda rm. cp optiuni surs destinatie - creeaz o copie a ierului/directorului surs directorul a a s a n destinatie (dac destinatie este numele unui director existent) (gura 4.8). Dac surs este a a a un ier iar destinatie nu exist, se creeaz o copie a ierului surs cu numele destinatie. s a a s a Optiuni: (fr optiuni) - copiaz surs destinatie a a a a n -v - aeaz un mesaj la copierea ecrui ier/director s a a s -R - copiaz recursiv directorul surs directorul destinatie a a n -f - forteaz rescrierea ierului destinatie dac acesta exist a s a a -i - cere permisiunea de rescriere a ecrui ier/director a s -s - creeaz o legtur simbolic a sursei destinatie a a a a n

Figura 4.8: Comanda cp.

24

Lucrarea nr. 4

mv optiuni surs destinatie - redenumete sau mut un ier sau un director (gura a s a s 4.9). Dac surs este ier iar destinatie director, comanda mv mut ierul surs a a s a s a n directorul destinatie. Optiuni: -v - aeaz un mesaj la redenumirea/mutarea ecrui ier/director s a a s -u - mut ierele sau directoarele surs directorul destinatie doar dac sursa a s a n a este mai nou sau nu exist directorul destinatie a a n -f - forteaz rescrierea ierului destinatie dac acesta exist a s a a -i - cere permisiunea de rescriere a ecrui ier/director a s

Figura 4.9: Comanda mv.

4.4.

Procese

Procesul st la baza oricrei activiti sistemul de operare Linux. La lansarea a a at n n executie a unei comenzi sau a unei aplicatii se creeaz un nou proces. Controlul proceselor a este un element important programarea pe sisteme multitasking care include operatii n de creare, manipulare i sincronizare a proceslor. Controlul proceselor este realizat prin s cteva apeluri (semnale) sistem care sunt functii a nglobate nucleu, accesibile utilizan torilor. Utilizarea corespunztoare a apelurilor este esential pentru controlul corect al a a proceselor. Un proces reprezint instanta executiei unei aplicatii i nu trebuie confundat cu proa s gramul, care este, fond, ierul executat de proces. n s Intr-un sistem multitasking, mai multe procese pot executa concurent acelai program i ecare proces poate transformat s s s execute un program anume. a Linux, ecare proces are asociat un numr de identicare unic denumit identicator In a de proces, prescurtat PID. PID-ul este un numr a ntreg pozitiv care poate reatribuit dup terminarea procesului care-l detine. a continuare sunt prezentate cteva comenzi utilizate pentru asarea i controlul proIn a s s ceselor Linux. n ps optiuni - aeaz procesele care ruleaz sistem. s a a n Optiuni: -a - aeaz toate procesele care ruleaz sistem (nu doar cele lansate de utilizatorul s a a n curent) -u - aeaz numele utilizatorului care controleaza procesul s a a 25

Bazele Utilizrii Calculatoarelor a

-U nume utilizator - aeaz procesele rulate de un anumit utilizator s a -x - aeaz toate procesele rulate de utilizatorul curent s a gura 4.10 este prezentat un exemplu al comenzii ps. In

Figura 4.10: Comanda ps. Datele asate gura 4.10 au urmtoarele semnicatii: s n a USER - numele utilizatorului care a lansat procesul PID - ID-ul procesului %CPU - Procentul de utilizare a procesorului %MEM - Procentul de utilizare a memoriei VSZ - Dimensiunea procesului in Kbytes RSS - Memoria RAM utilizat de proces a TTY - Terminalul utilizat de proces (dac exist) a a STAT - Starea procesului (vezi tabelul 4.2) START - Data/ora la care a fost pornit procesul TIME - Timpul de utilizare a procesorului (cumulat) COMMAND - Numele comenzii/aplicatiei pe care o execut procesul a

26

Lucrarea nr. 4

Tabelul 4.2. Starea proceselor Linux n

Simbol D R S T W X Z < N L s l +

Semnicatie Proces continuu (ne ntrerupt) Proces activ Proces ateptare n s Proces oprit Proces care realizeaz o paginare a Proces terminat Proces terminat vizibil (Zombie) Proces cu prioritate mare Proces cu prioritate mic a Proces timp real (cu zon de memorie blocat) n a a Proces care controleaz o sesiune a Proces multilar Proces care ruleaz prim plan (foreground) a n

pstree optiuni - aeaz arborescent procesele care ruleaz sistem (gura 4.11). s a a n Optiuni: -p - aeaz numele i PID-ul procesului s a s -n - ordoneaz dup PID procesele care au acelai proces printe. Implicit, ora a s a donarea se face dup numele procesului. a

Figura 4.11: Comanda pstree.

27

Bazele Utilizrii Calculatoarelor a

kill optiuni PID - trimite un semnal procesului cu ID-ul PID. Optiuni: -l - aeaz lista semnalelor care pot trimise ctre un proces. s a a -N - trimite semnalul cu ID-ul N ctre procesul cu ID-ul PID. (vezi kill -l ). Pentru a oprirea unui proces se utilizeaz semnalul cu ID-ul 9 (SIGKILL) (ex. kill -9 1234 ) a killall optiuni nume proces - trimite un semnal procesului cu numele nume proces. Optiunile comenzii killall sunt aceleai ca i ale comenzii kill. Avantajul comenzii killall s s este prosibilitatea opririi mai multor procese cu acelai nume. s

4.5.

Drepturi asupra ierelor i directoarelor s s

Linux, conturile utilizatorilor se In mpart dou categorii: conturi create de ctre adn a a ministrator (de ctre root) i conturi create de ctre sistemul de operare. Utilizatorii creati a s a de ctre sistemul de oprare se numesc demoni (daemons). Demonii nu ofer posibilitatea a a de autenticare deoarece au destinatii speciale cum ar : lansare executie a unor servicii n (http, ftp, baze de date, etc), arcarea memorie a driverelor, comunicatia cu anumite nc n periferice sau componente hardware, etc. Un exemplu de daemon este contul utilizator denumit gpm care gestioneaz comunicatia sistemul cu mouse-ul conectat la sistem. a Utilizatorii au drepturi limitate sistem, exceptie fcnd utilizatorul root. Fiecare n a a utilizator face parte dintr-unul sau mai multe grupuri de utilizatori. Implicit, grupul utilizatorilor cu drepturi limitate este grupul users. Grupurile de utilizatori sunt utile cnd a se dorete acordarea unor drepturi suplimentare asupra ierelor sau directoarelor. s s Drepturile asupra unui ier sau director pot vizualizate cu ajutorul comenzii ls -l s nume ier/nume director. Prima coloan reprezint drepturile asupra ierului (sau direcs a a s torului). A treia i a patra coloan reprezint numele proprietarului respectiv a grupului de s a a utilizatori din care face parte proprietarul (utilizatorul care a creat ierul sau directorul). s Drepturile sunt reprezentate de un ir format din 10 caractere din care: s primul caracter - reprezint tipul ierului ( - - ier normal; d - director; l a s s legtur simbolic; c - ier special; s - soclu (socket); p - conducte (pipes).) a a a s caracterele 2, 3 i 4 - drepturile proprietarului s caracterele 5, 6 i 7 - drepturile utilizatorilor din acelai grup cu proprietarul s s caracterele 8, 9 i 10 - drepturile tuturor utilizatorilor (altii dect proprietarul i cei s a s din acelai grup cu proprietarul) s Drepturile utilizatorilor pot : r - (read) drept de citire w - (write) drept de scriere x - (execute) drept de executie 28

Lucrarea nr. 4

Schimbarea drepturilor asupra unui ier sau director poate fcut de ctre propris a a a etarul ierului sau directorului (sau de ctre root) cu ajutorul comenzii chmod. s a chmod drepturi ier/director - schimb drepturile asupra unui ier sau director. s a s drepturi - reprezint noile drepturi sub forma unui ir de caractere, format din trei a s grupuri de caractere, dup cum urmeaz: a a grupul 1: u - drepturile proprietarului g - drepturile grupului o - drepturile celorlalti utilizatori a - drepturile tuturor utilizatorilor grupul 2: + adaug drepturi a - terge drepturi s = terge toate drepturile si seteaz noile drepturi s a grupul 3: r - drept de citire w - drept de scriere x - drept de executie De exemplu, comanda chmod ug+rw sier1 va aduga drepturile citire i scriere pentru a s proprietar i grup asupra sierului sier1. s s Comanda chmod se mai poate folosi i cu drepturile exprimate form numeric. s n a a Fiecare drept are atribuit un numr a ntreg unic dup cum urmeaz: a a 4 - drept de citire 2 - drept de scriere 1 - drept de executie 0 - nici un drept Drepturile format numeric sunt exprimate sub forma unui numr format din 3 cifre, n a ecare reprezentnd suma drepturilor pentru proprietar, grup i alti utilizatori. De exema s plu, comanda chmod 764 sier va seta drepturile rwx pentru proprietar (4+2+1), rw pentru grup (4+2) i r pentru alti utilizatori (4). s Numerele atribuite drepturilor nu sunt arbitrar alese. Drepturile pentru ecare grup de utilizatori (proprietar, grup, altii) sunt reprezentate binar pe 3 biti. Astfel pentru n ecare drept se seteaz bitul corespunztor, ordinea citire,scriere,executie rezultnd o a a n a combinatie de drepturi sub forma unui numr binar pe 3 biti (de la 000 la 111) reprezentat a n zecimal sub forma unei cifre (de la 0 la 7). n gura 4.12 este prezentat un exemplu pentru comanda chmod (drepturi literare i In s numerice).

29

Bazele Utilizrii Calculatoarelor a

Figura 4.12: Comanda chmod. s a s chown proprietar nou ier - schimb proprietarul al unui ier sau director (gura 4.13).

Figura 4.13: Comanda chown. s a s chgrp grup nou ier - schimb grupul curent al unui ier sau director (gura 4.14).

Figura 4.14: Comanda chgrp.

4.6.

Exercitii propuse

1) S se creeze directorul /tmp un ier care s contin toate liniile care a n s a a ncep cu un spatiu urmat de cuvntul BIOS din output-ul comenzii dmesg. S se determine a a mrimea ierului rezultat cu ajutorul comenzii nd. a s 2) S se creeze directorul /root un subdirector denumit dmesg. subdirectorul dmesg a n In s se creeze un alt subdirector denumit bios. S se mute ierul creat la exercitiul 1 a a s n subdirectorul bios. S se creeze o copie a ierului creat la exercitiul 1 subdirectorul a s n dmesg. S se mute subdirectorul dmesg directorul /tmp. a n 3) S se seteze urmtoarele drepturi pentru erul creat la execitiul 1 : a a s a) -rwxr-xr-x b) -rw-rw-rwc) -rwxrwxr- 30 d) -r-x- -x- -x e) -r- -r- - r- f) -rw-r- -r- -

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