Ca sa folositi orice sistem Linux, trebuie prima data sa intelegeti cum este organizat sistemul de fisiere in Linux. Fiecare fisier Linux este situat intr-o colectie numita director. Directoarele sunt ca si carpetele din sistemele Windows sau Mac. Directoarele formeaza o ierarhie sau arbore (tree): un director poate contine alt director, numit subdirector, care poate contine la randul lui alte fisiere si subdirectoare, si asa mai departe, pana la infinit. Directorul din varful ierarhiei este numit director root si este reprezentat de un slash ( / ).
Ne referim la fisiere si directoare folosind “nume si slash-uri”, sintaxa care este numita in engleza path(traducerea romaneasca fiind “cale “). O sa folosesc in continuare denumirea de “path”. De exemplu acesta este un path:
/unu/doi/trei/patru
care se refera la un director root /, care contine un director unu , care contine un director doi, care contine un director trei, ce contine un fisier sau un director final, patru. Daca path-ul incepe cu directorul root este numit paht absolut , daca nu, este un path relativ.
Cand rulam un shell, shell-ul se afla intr-un anumit director (in modul abstract).Sa presupunem ca suntem logati intr-un sistem Linux cu un user numit “adrian”, daca rulam un shell acesta o sa fie “situat” in directorul /home/adrian. Cand creem un nou user automat se creaza si un director /home/numeleuserului, care o sa fie directorul de lucru al userului. Cel mai simplu mod de a vedea unde este “situat” shell-ul intr-un moment dat este cu comanda pwd. Putem avea deschise cate shell-uri dorim, fiecare din ele putand fi “situate” in alt director pentru a ne face lucrul mai usor. Exemplu practic: suntem logati intr-un sistem Linux cu un user numit “linuxboy”. Deschidem un terminal si executam:
$ pwd (print working directory – ne arata directorul acutal)
o sa avem ca rezultat:
/home/linuxboy
Sa presupunem ca in subdirectorul linuxboy avem un alt subdirector numit “mystuff”. Deschidem un alt terminal si ne schimbam de director cu comanda:
$ cd mystuff
acum suntem “situati” in directorul mystuff. Executam din nou:
$ pwd
iar rezultatul este:
/home/linuxboy/mystuff
Acum avem doua shell-uri deschise, fiecare din ele fiind situate intr-un director diferit: /home/linuxboy si, respectiv, /home/linuxboy/mystuff.
Directoarele home
Fisierele personale ale userilor se gasesc in directorul /home (pentru useri normali) si in directorul /root (pentru superuser). Directorul tau personal este de obicei /home/userul-tau, ex: /home/adrian, /home/goodboy, etc.
Ca sa ne intoarcem automat in directorul nostru /home executam in terminal comanda cd (change directory) fara nici un parametru.
Cum spuneam Linux este un sitem multiuser, daca vrem sa ne situam in directorul /home al unui user in particular o putem face cu comanda:
cd ~“user”.
Ex:
$ cd ~adrian ( o sa ne situeze in directorul /home al userului adrian)
ca sa vedem rezulatatul folosim din nou comanda pwd:
$pwd (comanda “print working directory”)
iar rezultatul:
/home/adrian
Directoare de sistem
Un sistem Linux poate avea mii de directoare de sistem. Aceste directoare contin fisiere ale sistemului operativ, aplicatii, documente, practic orice in afara de fisiere private apartinand userilor (care de obicei le gasim in /home). Daca nu esti un administrator de sistem practic o sa intri foarte rar in majoritatea din aceste directoare – dar cu un pic de cunostinte poti sa intelegi sau sa ghicesti scopul lor.
Adesea numele directoarelor de sistem contin trei parti, pe care noi le vom numi scop, categorie si aplicatie (nu este ceva standard dar te vor ajuta sa intelegi mai bine unele lucruri).
Luam ca exemplu directorul: /usr/local/share/emacs
/usr/local ne arata scopul (fisiere de sistem instalate local)
/share ne arata categoria- de obicei documentatie
/emacs ne arata aplicatia – emacs este un editor de text
Poti explora sitemul de directoare cu comanda ls. Exemplu:
ls -l / , iti va lista toate subdirectoarele al directorului root (/).
ls -l /bin, iti va lista subdirectoarele ale subdirectorului /bin.
Categorii de directoare
O categorie ne spune tipul fisierelor aflate intr-un director. De exemplu, daca categoria este bin, putem fi siguri ca acel director contine programe.
Categoria programe:
bin programe ( de obicei fisiere binare)
sbin programe ( de obicei fisiere binare) destinate a fi rulate de superuser, root
lib librarii de cod utilizate de programe
libexec programe folosite de alte programe, un fel de “librarii de programe executabile”
Categoria documentatie:
doc documentatie
man fisiere de documentatie (manuale) care sunt folosite de programul man; de obicei aceste fisiere sunt comprimate
share fisiere specifice apartinand programelor, cum ar fi exemple de configuratie sau instructiuni de instalare
Categoria configurarea sistemului
etc fisiere de configuratie a sistemului
init.d fisiere de configuratie a felului in care porneste Linux
Categoria programare
include fisiere pentru programare
src codul sursa ale programel
Categoria web
cgi-bin scripturi/programe care se executa in paginile web
html pagini web
www pagini web
Categoria hardware
dev fisiere pentru componente hardware: hard disk, cd-rom , etc.
mnt puncte de montaj: directoare ce proportioneaza acces la hard disk, cd-rom, usb, etc.
Categoria logs
var fisiere specifice ale computerului, create si actualizate pe masura ce sistemul ruleaza
log fisiere de log, in ele se inregistreaza tot ce se intampla in sistem
mail contine fisiere cu mail-urile primite
run fisiere PID, contin ID-urile de la procesele active
tmp director de stocare temporala pentru programe sau useri
proc informatii despre sistem in timp real
Cam atat despre sistemul de fisiere, in continuare o sa aruncam o privire asupra unui aspect important al fisierelor in Linux: securitatea.