Structura sistemului de operare Linux
Sistemul de operare Linux cuprinde in principal 3 componente majore:
a) Nucleul (Kernel)
b) Sistemul de fisiere
c) Shell-ul
a) Nucleul este partea centrala a sistemului de operare, care asigura servicii catre programele de aplicatii pentru realizarea gestiunii proceselor, a memoriei, a intrarilor, a iesirilor si a timpului.
In acceptiunea Unix, prin proces se intelege un program in stare de executie, continand imaginea fisierului executabil in memorie (zonele de text, date si stiva) precum si resursele utilizate in momentul executiei (registre, fisiere deschise, etc.).
Functiile nucleului sunt:
Nucleul este alcatuit din urmatoarele componente:
b) Sistemul de fisiere cuprinde ansamblul fisierelor memorate sub forma de comenzi, programe traducatoare, programe utilitare, sisteme pentru lucrul cu colectii dedate, programe aplicative, precum si fisiere de date asociate organizate intr-o structura standard de directoare si subdirectoare. In capitolul 2 se poate urmari schema standard a structurii de directoare a sistemului de operare Linux.
c) Shell-ul reprezinta interpretorul de comenzi al sistemului de operare care are rolul de a interpreta comenzile date de utilizator, realizand o interfata intre acesta si sistemul de operare si de asemenea ofera facilitati de programare intr-un limbaj propriu avand caracteristicile asemanatoare cu ale limbajelor de nivel inalt, permitand scrierea si utilizarea de programe.
Sistemul de fisiere. Specificatorul de fisier.
In acceptiunea Linux, un fisier reprezinta o succesiune de octeti iar fisierele sunt organizate intr-o structura de arbore formata din directoare si subdirectoare. Putem distinge urmatoarele 4 tipuri de fisiere:
a) fisiere obisnuite;
b) fisiere director;
c) fisiere speciale;
d) fisiere tip conducta (pipe).
a) Fisierele obisnuite sunt o insiruire de octeti, fara o organizare logica speciala. Ele pot contine un program sursa (text), un program in cod executabil (binar), precum si datele necesare executiei programelor. Acest tip de fisier permite memorarea pe termen lung a datelor. Numele unui fisier poate fi de maxim 14 caractere si nu pot exista in acelasi director fisiere cu acelasi nume. Structura logica a informatiei din fisiere se realizeaza in exclusivitate prin programele de aplicatie.
b) Fisierele director reprezinta un fisier de tip catalog ce contine o lista de fisiere. Directorul este organizat sub forma unei tabele in care este memorata cate o intrare pentru fiecare fisier din acel director. O intrare de acest fel stocheaza identificatorul intern numit "information node", sau i-node, care este un numar (2 octeti) si numele fisierului (14 octeti). Fisierele director contin fisierul cu numele (.) care identifica i-node-ul propriu al directorului curent si fisierul cu numele (..) ce identifica inode-ul directorului parinte in care acesta apare ca subdirector.
Un fisier este specificat prin "numele de cale" urmat de numele fisierului respectiv. "Numele de cale" reprezinta o succesiune de nume de directoare care incepe de la directorul radacina (/) si sunt separate intre ele de semnul (/), ca de ex.:
/dir1/dir2/./dirn/fisier, sau /home/student/program2
Pot exista fisiere cu acelasi nume dar in directoare diferite, iar fisierele din directorul curent sunt accesibile in mod direct prin simpla referire a numelui lor.
Pentru specificarea fisierelor exista doua posibilitati:
a) specificarea absoluta - prin care se pleaca de la indicarea caii de access la un fisier incepand chiar de la radacina si indicand apoi nivelurile arborelui pana la fisierul desemnat;
b) specificarea relativa - prin care se pleaca de la indicarea caii de acces la un fisier incepand cu directorul curent si apoi nivelurile urmatoare ale arborelui pana la fisierul desemnat.
La specificarea numelui unui fisier se pot utiliza unele caractere speciale: si [], cu urmatoarele semnificatii:
are sensul de orice caracter de pe pozitia respectiva in numele unui fisier;
semnifica orice sir de caractere incepand cu pozitia in care apare acesta;
[lista de caractere] indica un caracter, oricare din cele mentionate intre parantezele drepte.
c) Fisierele speciale se utilizeaza pentru tratarea unui dispozitiv periferic ca fiind un fisier. In acest mod fiecare dispozitiv fizic de intrare sau de iesire este identificat cu un fisier special, din punctul de vedere al utilizatorului neexistand nici o diferenta intre lucrul cu un fisier obosnuit si un fisier special, acestora din urma putandu-se aplica aceleasi comenzi ca si unui fisier obisnuit.
Fisierele speciale se afla grupate in directorul dev. Cateva exemple de fisiere speciale sunt:
/dev/lp - fisierul special pentru imprimanta
/dev/hda2 - fisierul special asociat celei de a doua partitii de pe prima unitate de HardDisk, etc.
d) Fisierele tip conducta (pipe) sunt niste fisiere tranzitorii, din care datele sunt citite in ordinea stricta a scrierii lor, respectandu-se regula de sincronizare FIFO (primul venit-primul plecat). Un astfel de fisier conecteaza iesirea standard a unui program (sau comanda) cu intrarea standard a unui program sau comanda, realizand transferul datelor mai rapid prin intermediul unei memorii tampon.
Sistemul de protectie a fisierelor si drepturile de access
Sistemul de operare Linux dispune de drepturi de access al fisierelor dupa cum urmeaza:
a) Pentru fisiere:
- drept de citire(r) permite afisarea continutului
- drept de scriere (w) permite modificarea continutului (sau stergerea) acestuia
- drept de executie(x) permite rularea acestuia.
b) Pentru directoare:
- drept de citire(r) permite utiliyatorului sa deschida si sa citeasca continutul directorului
- drept de scriere (w) permite crearea sau stergerea de fisiere director
- drept de executie(x) permite ca sistemul sa caute in director pe baya specificarii unei cai de acces.
Se pot distinge 3 categorii de utilizatori:
proprietar (u)
grup (g)
ceilalti utilizatori (o).
Fiecare fisier are un proprietar, care de obicei este persoana care l-a creat. Mai multi utilizatori, care fac parte de obicei din acelasi compartiment de lucru, formeaza un grup. Sistemul de protetie a accesului la un fisier se bazeaza pe confruntarea drepturilor utilizatorului (r,w,x) cu drepturile categoriei din care acesta face parte (grupului). Pentru precizarea acestor drepturi sunt necesare 9 caractere (3 drepturi de acces * 3 categorii de utilizatori). Pentru vizualizarera drepturilor, se foloseste comanda ls, asemanatoare comenzii dir din MS-DOS (vezi figura:)
Dupa cum se observa in listingul de mai sus, drepturile sunt insirate la inceputul randului, dupa un caracter ce indica tipul fisierului respectiv (- normal, d = director, s = fisier special).
Prezentarea comenzilor Linux
Linux dispune de o gama variata de comenzi cu ajutorul carora se executa diferite operatii. Fiecare comanda este un nume de program ce va fi executat ca raspuns la introducerea ei.
In functie de tipul utilizatorilor care le folosesc, putem distinge doua tipuri de comenzi:
comenzi privilegiate, care pot fi executate doar de catre SuperUser (administratorul de system)
comenzi neprivilegiate, ce pot fi executate de catre utilizatorii obisnuiti. Acestea pot fi, la randul lor, grupate in mai multe tipuri:
o comenzi pentru lucrul cu directoare;
o comenzi pentru gestionarea fisierelor;
o comenzi pentru utilizarea imprimantelor si terminalelor
o comenzi pentru gestionarea proceselor;
o comenzi informationale;
o alte comenzi.
Sintaxa generala a unei comenzi este urmatoarea:
Nume_comanda [optiuni] <fisier>
Optiunile se trec dupa caracterul (-), si pot fi grupate mai multe. In general, pe un rand se scrie o singura comanda, dar este posibil sa se scrie si pe mai multe linii folosind ca semn de continuare caracterul (
Intreruperea executiei unei comenzi se poate face in orice moment cu ajutorul combinatiei de taste CTRL+<C>.
Suspendarea temporara a unei comenzi poate fi realizata cu ajutorul combinatiei de taste CTRL+<Z>, iar reluarea executiei ei se poate face prin tastarea comenzii "fg". Comanda "jobs" ne va afisa o lista cu toate comenzile suspendate.
Sistemul de operare Linux, la fel ca toate celelalte sisteme Unix, tine cont de modul de scriere a comenzilor, adica daca acestea sunt scrise cu litera mare sau cu litera mica. De exemplu, comanda ls nu este tot una cu comanda LS si cu totul altceva decat Ls.
Aflati pentru prima oara in fata Linuxului, este util sa folosim comanda help, care ne va prezenta cateva informatii despre versiunea interpretorului de comenzi disponibil si cateva comenzi elementare. Pentru a afla mai multe detalii despre o anumita comanda, putem interoga shell-ul folosind urmatoarea comanda:
help <nume_comanda>
In cazul in care informatiile afisate pe monitor depasesc spatiul disponibil, acestea vor defila in sus, pierzand astfel posibilitatea de a le putea citi. Daca se doreste afisarea acestor informatii in mod paginat, se poate folosi redirectarea catre comanda more, sau catre comanda less.
help | more sau help | less
Cea de-a doua este mai indicata, deoarece ne putem deplasa cu usurinta in susul sau in josul ecranului. Pentru a iesi din ecranul informativ, se tasteaza "q".
O alta modalitate de a afla mai multe detalii despre o anumita comanda este sa apelam la manualul (destul de complex) existent in majoritatea distributiilor de Linux. Pentru a-l folosi, se tasteaza:
man <nume_comanda>
In cazul in care nu cunoastem numele exact al comenzii si vrem sa aflam toate comenzile disponibile in functie de un anumit cuvant cheie, putem da comanda:
man -k <cuvant_cheie>
Si, in sfarsit, o ultima modalitate de a afla numele unei comenzi (atunci cand ii cunoastem macar inceputul ei) este scrierea a cateva caractere de la inceputul comenzii si apoi apasarea tastei <TAB> (o data sau de doua ori, depinde daca sunt mai multe alternative la inceputul de comanda tastat). Aceasta este de altfel si o modalitate mai rapida de a scrie comenzi in mediul Linux.
1. Comenzi pentru lucrul cu directoare
Numele comenzii |
Explicatie |
Exemplu |
PWD |
Tipareste numele directorului curent impreuna cu calea de acces pana la acesta |
pwd |
CD |
Schimba directorul curent cu unul nou ce va deveni director curent dupa executia comenzii. Fara argumente, ne duce in directorul propriu |
cd <nume director> cd .. cd |
LS |
Listeaza continutul unuia sau mai multor directoare, afisind si o lista cu informatii diverse despre acestea. |
ls ls -als ls /home/student/ |
MKDIR |
Creeaza un folder |
mkdir dir1 |
RMDIR |
Sterge directorul specificat |
rmdir /home/dir1 |
2. Comenzi pentru lucrul cu fisiere
Numele comenzii |
Explicatie |
Exemplu |
|
CAT |
Concateneaza si afiseaza fisiere text |
cat <fisier> cat fis1 fis2 > fis3 cat > fis4 cat >> fis3 |
|
PR |
Pregateste fisierele pentru a fi tiparite. |
pr [optiuni] <fisier> |
|
LP |
Tipareste fisierele respective la imprimanta |
lp fis1.txt |
|
WC |
Numara caractere, cuvinte si linii in fisiere text |
wc -l /etc/passwd |
|
DIFF |
Afiseaza diferenta intre 2 fisiere text. |
diff fis1.txt fis2.txt |
|
GREP |
Filtreaza liniile unui fisier (buffer) cautand siruri de caractere |
grep -c personal.txt grep -v pers personal.txt |
|
TAIL |
Afiseaza implicit ultimele 10 randuri ale unui fisier (buffer) |
tail -15 personal.txt |
|
HEAD |
Afiseazp implicit primele 10 linii dintr-un fisier |
head +15 personal.txt |
|
MORE |
Vizualizeaza in mod paginat continutul unor fisiere |
more personal.txt |
|
PG |
Asemanator cu more, dar permite deplasarea inainte si inapoi prin textul afisat |
pg personal.txt |
|
FILE |
Afiseaza informatii despre un anumit fisier |
file /home/galex |
|
FIND |
Cauta fisiere, directoare dupa conditii | ||
LOCATE |
Similar find, insa foloseste o minibaza de date |
locate mysql |
|
CP |
Copiaza un anumit fisier |
cp fis1 fis2 |
|
MV |
Muta, redenumeste fisiere, directoare |
mv fis1 fis2 |
|
RM |
Sterge fisiere |
rm fis? |
|
LN |
Creeaza legaturi intre fisiere, directoare |
ln -s <target> <nume_nou> |
|
CHOWN |
Schimba proprietarul unui fisier |
chown galex private |
|
CHGROUP |
Schimba grupul unui fisier |
chgroup galex private |
|
CHMOD |
Schimba drepturile unui fisier |
chmod a+w personal.txt |
3. Comenzi pentru gestionarea proceselor
Numele comenzii |
Explicatie |
Exemplu |
PS |
Afiseaza starea proceselor din sistem |
ps aux | more |
NICE |
Lanseaza un proces cu o prioritate schimbata | |
KILL |
Intrerupe executia proceselor |
kill -9 <PID> |
SLEEP |
Suspenda temporar executia unui proces |
sleep 30 <PID> |
DATE |
Afiseaza data si ora sistemului |
date |
TIME |
Afiseaza informatii despre timpul de executie al unui proces |
time locate mysql |
4. Comenzi informationale
Numele comenzii |
Explicatie |
Exemplu |
MAN |
Afiseaza manualul comenzii specificate |
man chmod |
CAL |
Afiseaza calendarul pentru o anumita luna |
cal 01 2002 |
WHO |
Afiseaza informatii despre utilizatori |
who |
W |
Afiseaza informatii despre utilizatori |
w |
FINGER |
Afiseaza informatii despre utilizatori |
finger @snr.ro |
|
Permite receptionarea si trimiterea de posta electronica |
mail [email protected] |
WRITE |
Permite tiparirea unui mesaj direct pe terminalul altui utilizator |
write student "hai acasa" |
5. Comenzi privilegiate
Numele comenzii |
Explicatie |
Exemplu |
SHUTDOWN |
Termina toate procesele si inchide calculatorul |
shutdown -r |
REBOOT |
Restarteaza calculatorul | |
WALL |
Trimite un mesaj tuturor utilizatorilor conectati | |
DF |
Afiseaza informatii cu privire la discul hard |
df |
DU |
Afiseaza informatii cu privire la discul hard | |
MOUNT |
Permite montarea unui sistem de fisiere |
mount /dev/hdc1 /cdrom |
UMOUNT |
Permite demontarea unui sistem de fisiere |
umount /dev/hdc1 |
ADDUSER |
Adauga un utilizator |
adduser stud2 |
USERDEL |
Sterge un utilizator |
userdel stud1 |
TOP |
Afiseaza o lista permanent actualizata asupra activitatii sistemului |
top |
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |