Hijerarhija datotečnog sustava
GNU/Linux je naslijedio hijerarhiju (strukturu) datotečnog sustava od Unixa iako ne potpuno dosljedno (ovisi od distribucije do distribucije).
Prije nego krenemo dobro je imati u glavi:
- datoteka (eng. file) je neki podatak ili program, ukratko - nositelj sadržaja;
- direktorij ili mapa (eng. folder) je ladica koja objedinjuje datoteke, ali samostalno ne predstavlja nikakav sadržaj.
I to je osnovna zamisao svega: imamo datoteke koje treba rasporediti po direktorijima radi lakšeg snalaženja, ali i efikasnijeg funkcioniranja sustava.
Razlikujemo dva logička pristupa rasporedu podataka:
- samo dostatna pakiranja u kojima na jedno mjesto stavljamo jedan program i sve njegove popratne datoteke, biblioteke i pomoćne programe;
- pakiranja datoteka po svrsi i tipu u kojima se jedan tip datoteka nalazi unutar jednog paketa makar ih koriste različiti programi (npr. biblioteke svih programa se nalaze unutar paketa biblioteke).
Prednost prvog pristupa je u tome da imamo funkcionalno sve na jednom mjestu (kao da držimo sve za popravljati kosilicu na jedno mjestu - odmah vidimo čime raspolažemo), no nedostatak je u tome što imamo puno duplikata (ključ 15 i čekić za popravljat kosilicu u jednoj ladici i isti takav ključ i čekić za popravljat motornu pilu u drugoj ladici). U računalu se taj nedostatak manifestira kao trošenje diskovnog prostora.
Prednost drugog pristupa je u tome da je puno efikasniji na prostoru (ako postoji negdje ključ 15, onda ćemo ga koristiti za koju god nam namjenu treba i on će uvijek stajati u ladici za ključeve), međutim stvari treba tada tražiti što je i glavni nedostatak. Međutim, računalo puno lakše traži nego mi... tako da drugi pristup računalu i ne predstavlja neki problem kao čovjeku.
Dakako, osim nabrojanih svaki pristup ima i drugih prednosti i nedostataka (no njih nećemo navoditi jer se to tiče direktno funkcioniranja računala). Kako uvijek u takvim situacijama biva, uglavnom se koristi miješani pristup koji uzima najbolje od oba, ali uz pokoju manu. Teško je reći koji je pristup generalno bolji, jer sve ovisi o situaciji i namjeni.
Windows platforma više naginje prvom pristupu: većina programa se standardno nalazi u svojim direktorijima unutar direktorija Program Files, a jedino se biblioteke stavljaju na zajedničkom mjesto (dll datoteke). Unix sustavi imaju drugačiju filozofiju. Unix se sastoji od puno malih alata koji rade zajedno da bi napravili određeni zadatak i tako se programi međusobno koriste, a da bi se lakše našli svi se nalaze na jednom ili samo par mjesta. Također biblioteke imaju svoje zajedničko mjesto, pa ako neki program treba neku biblioteku ide tražiti među biblioteke, a ne po cijelom sustavu.
Hijerarhija (raspored datoteka po direktorijima) na Linuxu je više-manje standardizirana i možemo je ilustrirati pomoću drveta koje se grana od debla prema krošnji.
Deblo u ovom slučaju je tzv. korijenski (eng. root) direktorij (oznaka /). On je prvi i ne nalazi se ni u jednom drugom direktoriju.