Gym
lesson

Struktura Linux fajl sistema

Cilj lekcije

Nakon ove lekcije znaćete kako je organizovan Linux fajl sistem, šta znači FHS standard i gde se nalaze važni delovi sistema.

Sve je fajl u Linux-u

Jedna od najvažnijih ideja u Linux-u je: sve je fajl. Tekstualni dokumenti, slike, programi, uređaji (tastatura, hard disk, mrežna kartica) — sve se predstavlja kao fajl. Ovo čini sistem konzistentnim i predvidivim.

FHS standard

Linux fajl sistem prati Filesystem Hierarchy Standard (FHS) — dogovorena pravila o tome gde šta ide. Zahvaljujući tome, svaka Linux distribucija (Ubuntu, Fedora, Debian...) ima isti raspored direktorijuma.

Stablo direktorijuma

Za razliku od Windowsa (koji ima C:\, D:\...), Linux ima jedno stablo koje počinje od korena.

/
├── home/
├── etc/
├── var/
├── tmp/
├── usr/
├── bin/
├── sbin/
├── dev/
└── proc/

Nema slova diskova. Sve počinje od /.

Važni direktorijumi

/ — Koren (root)

Vrh celog stabla. Svi ostali direktorijumi su unutar /. Ne treba ga mešati sa /root (home direktorijum root korisnika).

/home — Korisnički direktorijumi

Svaki korisnik dobija sopstveni direktorijum:

/home/marko/
/home/ana/
/home/student/

Ovo je vaše lično mesto — dokumenti, preuzimanja, podešavanja aplikacija. U terminalu se /home/vas_korisnik/ skraćuje kao ~.

/etc — Konfiguracija sistema

Sadrži konfiguracione fajlove sistema i aplikacija. Na primer:

  • /etc/hostname — ime računara
  • /etc/hosts — lokalna DNS tabela
  • /etc/passwd — lista korisnika

Napomena: etc potiče od "et cetera" — sve ono što ne spada drugde. Danas znači "konfiguracija".

/var — Promenljivi podaci

Sadrži podatke koji se menjaju tokom rada sistema:

  • /var/log/ — sistemski logovi (dnevnici rada)
  • /var/www/ — web sadržaj (Apache, Nginx)
  • /var/mail/ — elektronska pošta
  • /var/tmp/ — privremeni fajlovi koji preživljavaju restart

/tmp — Privremeni fajlovi

Fajlovi koji se brišu pri svakom pokretanju sistema. Koristan za kratkoročno čuvanje podataka. Svaki korisnik može pisati ovde.

/usr — Korisnički programi

Sadrži većinu programa i biblioteka instaliranih na sistemu:

  • /usr/bin/ — programi dostupni svim korisnicima
  • /usr/lib/ — biblioteke
  • /usr/share/ — dokumentacija, ikone, lokalizacija
  • /usr/local/ — programi koje ste ručno instalirali

/bin i /sbin — Osnovne komande

  • /bin — osnovne komande potrebne za pokretanje sistema (ls, cp, mv, bash...)
  • /sbin — sistemske komande za administraciju (fdisk, reboot, iptables...)

/dev — Uređaji

Svaki uređaj priključen na računar ima svoju reprezentaciju kao fajl:

  • /dev/sda — prvi hard disk
  • /dev/tty1 — terminal
  • /dev/null — "crna rupa" (sve što upiše nestaje)
  • /dev/random — generator nasumičnih brojeva

/proc — Procesi i kernel

Virtuelni fajl sistem koji postoji samo u memoriji. Sadrži informacije o procesima i kernelu:

  • /proc/cpuinfo — informacije o procesoru
  • /proc/meminfo — informacije o memoriji
  • /proc/1234/ — informacije o procesu sa PID-om 1234 (PID = jedinstveni broj svakog pokrenutog programa, vise u poglavlju 10)

Komanda cat ispisuje sadrzaj fajla — detaljno cemo je obraditi u poglavlju 5.

cat /proc/cpuinfo   # vidi podatke o procesoru
cat /proc/meminfo   # vidi podatke o memoriji

Razlika od Windows-a

Windows Linux Opis
C:\Users\Marko /home/marko Korisnički fajlovi
C:\Windows\System32 /usr/lib Sistemske biblioteke
C:\Program Files /usr/bin Instalirani programi
C:\Windows\Temp /tmp Privremeni fajlovi
Registry /etc Sistemska konfiguracija

Najveća razlika: Linux nema registar. Konfiguracija su obični tekstualni fajlovi u /etc — možete ih otvoriti i čitati.

Rezime

/           → koren svega
/home       → vaši fajlovi
/etc        → konfiguracija
/var        → logovi i promenljivi podaci
/tmp        → privremeni fajlovi
/usr        → programi i biblioteke
/bin /sbin  → osnovne komande
/dev        → uređaji kao fajlovi
/proc       → informacije o procesima