Structura sistemului de fisiere din Linux

Linux | Stefanescu Mihai | 2022-11-27

Majoritatea oamenilor care au folosit linux au vazut structura de foldere a acestuia, dar sunt convins ca majoritatea nu stiu ce sunt aceste foldere si la ce sunt folosite.
Un utilizator de Windows, cand deschide pentru prima data File manager-ul din linux o sa intalneasca o structura asemenatoare cu a Home folder-ului din windows unde se regasesc foldere precum Desktop, Documents, Downloads, Music, Pictures si asa mai departe.

Pana acum totul si normal, dar apoi te duci un pas mai sus in file manager pentru a cauta C:/ si intri in panica si incepi sa te intrebi unde e Program Files, unde e instalat linux-ul, cum o sa gasesc aici ceva.

Intradevar, poate parea putin coplesitor la o prima privire, avand in vederea ca linux-ul si windows-ul au evoluat atat de diferit.
Hai sa vedem de unde a inceput totul. -- poatce ceva legat de o scurta lectie de istorie
La inceput a fost ceva numit MS-DOS, sau Disk Operating System care nu avea interfata, stia doar linie de comanda, dar cu toate acestea putea rula programe si jocuri fara probleme.
Mai tarziu, pe aceste calculatoare cu DOS a inceput sa fie instalat si windows-ul, iti pornea DOS-ul, scriai "win" in linia de comanda si pornea Windows-ul (3.1).
Pentru a asigna drive-urile disponibile se folosea de litere, unde A si B erau mediile de stocare removable (floppy drive, de exemplu) pentru ca aceste PC-uri de care vorbim aveau numai floppy drive-uri, apoi, o data ce au inceput sa apara hard drive-urile, Windows-ul a inceput sa le asigneze si lor litere (2 floppy drives, un hard disk, de acolo C), urmand ca mai apoi, disk-urile aditionale adaugate sa primeasca urmatoarele litere disponibile.

De asemenea, puteai instala ce voiai in DOS, windows-ul venind instalat in propriul lui folder (numit Windows).
Mai tarziu (in versiunile ulterioare), Microsoft a inceput sa schimbe modul de boot al windows-ului facandul sa depinda mai putin de DOS, eventual ajungand sa nu mai aiba nevoie de el.

Cu toate acestea, structura de fisiere a Windows-ului a ramas aproape la fel.
Incepand cu Windows 95 Microsoft a create Program Files, care era locul default de instalare pentru majoritatea aplicatiilor.

In mare pare Linux-ul urmareste "traditiile" UNIX, motiv pentru care foloseste "/", spre deosebire de Windows care foloseste "\\", de asemenea in linux se tine cont si de literele mari/mici, ceea ce inseamna ca poti avea asa ceva:

Oke, hai sa vorbim putin de cum functioneaza treaba asta. Acest tip de organizare al fisierelor isi are radacinile in standardul FHS (Silesystem Hierarchi Standard) care defineste structura folderelor si fisierelor si este intretinut de Fundatia Linux.

Aici trebuie sa se noteze ca nu toate distributiile urmaresc acest standard, de asemenea, unele lucruri din standard s-au schimbat dea lungul anilor.

Ok, acum hai sa luam rand pe rand aceste foldere si sa vedem la ce sunt utile.

/bin

  • vine de la binaries
  • aici stau fisierele binare esentiale (mai simplu spus aici stau aplicatiile de baza), de ex: cat, ls, cp, etc

/sbin

  • similar cu folder-ul bin, aici stau fisierele binare necesare sistemului (system binaries), mai simplu zis, aici stau aplicatii precum fsck, init, route, etc
  • in mod normal aici stau fisiere de care ar avea nevoie un administrator de system, la care un user normal nu ar avea access in mod default

Vreau totusi sa mentionez, atunci cand instalezi o aplicatie in linux, in mod normal, nu este instalata in aceste foldere, bin sau sbin.

/boot

  • incep prin a pune ca nu vrei sa te joci cu acest folder
  • contine tot ce ii trebuie sistemului tau de operare ca sa porneasca, in alte cuvinte aici sta boot loader-ul

/dev

  • aici locuiesc device-urile tale, cum ar fi disk-urile (un disk de exemplu poate fi gasit sub /dev/sda, o partitie ar putea fi gasita sub /dev/sda1, de asemenea tot aici se regasesc si alte device-uri precum camere web, tastaturi,etc)  (alte exemple de device-uri /dev/null, /dev/disk0, /dev/sda1, etc)
  • acest folder este de obicei un folder in care fac modificari aplicatiile si driverele, un user nu ar trebui sa umble aici
  • Aici as vrea sa reamintesc despre faptul ca linux urmareste standardul UNIX, care spune ca totul este un fisier

/etc

  • aici au existat tot felul de discutii referitoare la ce reprezinta numele acestui folder, in primele versiuni de UNIX (implementari Bell labs si de asemenea Dennis Ritchie a confirmat) numele venea de la etcetera pentru ca acest folder era folosit pentru a stoca orice nu isi avea locul in alta parte anume. Mai recent, numele acestui folder vine de la Editable Text Configuration sau Extended Tool Chest
  • aici stau toate configurarile, dar cand spun asta ma refer strict la configurarile ce tin de intreg sistemul (de exemplu configurari pentru apt)

/lib, /lib32, /lib64
-aici sunt salvate librariile, fisiere de care au nevoie aplicatiile instalate sa ruleze si sunt folosite de aplicatiile din bin si sbin
/media si /mnt

  • aici gasim drive-urile folosite, indiferent ca vorbim de un USB stick, un hard drive extern, sau poate chiar si un floppy disk
  • daca inca iti mai cauti partitia D:/, o vei gasi aici
  • folder-ul media nu era aici (a fost adaugat in 2004), inainte totul se regasea in mnt.
  • in momentul de fata, cred ca toate distributiile fac mounte automat de device-uri noi, deci cand conectezi stick-ul la laptop il vei gasi in /media/{username}/{devicename}, anyway, sfatul meu ar fi sa nu va atingeti de folder-ul media, ci daca vreti sa faceti mount manual unui device sa va uitati la folder-ul mnt, media este gestionat de sistem (cand conectezi USB-ul la laptop o sa iti apara drive-ul in File Manager fara sa fie nevoie sa faceti voi ceva anume), daca vreti sa faceti mount pentru un device

/opt

  • acesta este folderul optional
  • aici de obicei ajunge software-ul instalat manual de diferiti vendori, de exemplu VirtualBox guest additions ajunge aici

/proc

  • aici gasim pseudo-fisiere (mai de graba e un virtual-filesystem) ce contin informatii despre diverse procese ale sistemului si resurse
  • de exemplu, fiecare proces rulat de sistemul de operare va avea un folder aici care va contine tot felul de informatii

/root

  • acesta este folder-ul utilizatorului root

/run

  • acest folder este relativ nou si in functie de distributie va fi folosit in moduri putin diferite
  • acest folder este de tip tmpfs ceea ce inseamna ca asta in RAM, ceea ce inseamna ca tot ce e aici dispare o data ce systemul a fost restartat sau oprit
  • este folosit pentru procesele ce pornesc la boot pentru a stoca informatii de runtime

/srv

  • acesta este un folder folosit pentru stocarea informatiilor folosite de diferite servicii, precum servere de FTP, servere WEB, etc

/sys

  • acest folder contine informatii despre device-uri, drivere si anumite feature-uri ale kernelului
  • acest folder este similar folderului run si nu este scris fizic pe disk si este creat de fiecare data la boot

/tmp

  • asta, in mod evident, este un folder de fisiere temporare, folosit de aplicatii pentru a isi salva informatiile necesare in timpul unei sesiuni
  • de exemplu, cand lucrezi la un document intr-o aplicatie de tip office, acesta va salva o copie temporara a acelui document aici, astfel incat, daca aplicatia crapa sa ai o copie a documentului
  • de asemenea, acest folder este gol cand pornesti sistemul

/usr

  • acesta este locul aplicatiilor neesentiale,  adica aplicatiile utilizatorului

/var

  • variable files, sau fisierele care se schimba, in mod normal, pe perioada folosiri sistemului de operare
  • aici stau lucruri precum log-uri, cache, informatii despre crash-uri, baze de date pentru mailuri si asa mai departe

/home

  • aici o sa vedem ca fiecare utilizator al acestui computer are cate un folder cu numele lui, iar fiecare utilizator are access numai la fisierele lui (daca nu foloseste permisiuni de admin)
  • aici iti salvezi fisierele personale
  • o practica des intalnita este aceea de a seta folder-ul de /home pe alt hard-disk sau pe alta partitie, ceea ce iti permite sa reinstalezi sistemul de operare si sa nu iti pierzi fisierele
  • tot aici stau mai multe foldere ce tin setarile aplicatiilor instalate, de obicei aceste foldere sunt ascunse (un folder al carui nume incepe cu . este ascuns de sistem si le putem vedea daca bifam "show hidden files" sau daca apasam ctrl + h)
  • de asemenea, daca suntem in terminal si scriem ls o sa vedem doar folderele normale, daca vrem sa vedem toate fisierele trebuie sa rulam comanda ls -a
  • de asemenea, multe desktop environment-uri (de exemplu openbox, gnome, kde, unity, etc) isi salveaza tot aici informatiile despre desktop (ce wallpaper ai, iconite, teme, etc)

 

Atentie totusi, cand faci un backup folderului /home sa incluzi si fisierele ascunse, astfel incat data viitoare cand reinstalezi sistemul sa ai desktop-ul configurat exact cum era inainte.


Dupa cum vedeti, desi sistemul de fisiere al linux-ului este diferit de cel al windows-ului, este destul de usor de inteles ca si structura si de asemenea permite impartirea mult mai eficienta a resurselor intre pachete.
Daca vorbim despre instalare si dezinstalarea de software, in cele mai multe cazuri nu trebuie sa va faceti griji pentru ca toate distributiile populare au un Package Manager care se va ocupa de tot pentru voi.

Sper ca acest articol v-a fost util!


Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.
       

Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum.

Posteaza un comentariu

Comentarii

Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.

🗝ïļ Login 🌟 Register

🔖 Bookmarks ⊞
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord ⊞

Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.

⮆ïļ