Hakemistorakenne
Linuxin hakemistorakenne on hierarkinen. Se perustuu alkuperäiseen AT&T UNIX:in levyjärjestelmärakenteeseen. Useimmat levitysversiot noudattavat nykyisin FHS standardia, jossa määritellään mitä hakemistoja järjestelmästä tulisi löytyä, ja mitä niiden pitäisi sisältää.
Hierarkinen rakenne mahdollistaa järjestelmän paloittelemisen useille kovalevyille tai useille RAID-osioille. Hotswap-tuen omaavilla laitteistoilla voidaan tämän avulla kasvattaa joidenkin levyosioiden kokoa tarvittaessa sammuttamatta järjestelmää. Levyn tai levypakan vaihto onnistuu pelkästään poistamalla kyseisen osion liitos ja liittämällä uusi osio tilalle.
Hakemistorakenne alkaa juurihakemistosta jota merkitään /-merkillä (kauttaviiva). Jos johonkin tiedostoon halutaan päästä käsiksi niin siihen voidaan osoittaa absoluuttisesti. Absoluuttinen tiedostonimen osoitus alkaa juurihakemistosta.
FHS standardi määrittelee seuraavat hakemistot:
/bin
Olennaiset järjestelmäkomennot kaikkien käyttäjien käytettäväksi.
/boot
Järjestelmän käynnistämiseen tarvittavat tiedostot. Mm. GRUB säilöö tarvitsemiaan tietoja tänne
/dev
Laitetiedostot.
/etc
Järjestelmän asetukset.
/home
Käyttäjien kotihakemistot. Käyttäjä voi viitata omaan kotihakemistoonsa ~-merkillä.
/lib
Järjestelmän jaetut kirjastot, sekä kernelin modulit.
/media
Siirrettävän median liitoskohdat.
/mnt
Väliaikaisesti liitetyt osiot.
/opt
Kaupallisten ohjelmistojen käyttämä asennushakemisto.
/proc
Vain linuxissa. Kernelin ja prosessien tiedot. Procfs levyjärjestelmän luoma virtuaalinen hakemisto.
/root
Pääkäyttäjän kotihakemisto.
/sbin
Pääkäyttäjän sovellukset.
/tmp
Väliaikaistiedostot, tyhjennetään koneen käynnistyessä uudelleen.
/usr hierarkia
/usr muodostaa oman hierarkian, joka jakautuu useaan osaan:
Pakolliset elementit
Pakolliset elementit tulee löytyä jokaisesta järjestelmästä, ne ovat toiminnan kannalta olennaisia.
bin
Useimmat järjestelmäkomennot ja ohjelmat.
include
C-kääntäjän otsikkotiedostot.
lib
Hakemistosta /usr/lib saattaa löytyä seuraavia alihakemistoja
- /usr/lib/fpc/ FreePascal-kääntäjä joka on Pascal-ohjelmointikielinen kääntäjä.
local
Paikallinen hierarkia. Oletuksena tyhjä, järjestelmän ylläpitäjä voi rakentaa oman tarvitsemansa hierarkian, esim dokumenttien jakoa varten käyttäjien kesken.
sbin
Ei-kriittiset järjestelmän käyttämät binäärit.
Jaetut arkkitehtuurista riippumattomat tiedostot. Hakemistosta /usr/share saattaa löytyä seuraavia alikansioita
- /usr/share/fpcsrc sisältää FreePascal:n lähdekoodit
- /usr/share/lazarus sisältää Lazarus-ohjelmankehitysympäristön
Valinnaiset elementit
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.
X11R6
Ikkunointijärjestelmä, ja sen tarvitsemat osat.
games
Pelit.
lib
Vaihtoehtoisia binäärimuotoja käyttävät kirjastot.
src
Lähdekoodit.
/var hierarkia
Pakolliset
cache
Sovellusten cache tiedot.
lib
local
Muuttuva data /usr/local hierarkiasta
lock
Lukitustiedostot.
log
Lokitiedostot
opt
Muuttuva data /opt hierarkiasta
run
Prosesseihin liittyvät ajotiedot.
spool
Sovellusten prosessointia odottava data
tmp
Väliaikaistiedostot, jotka säilytetään bootin yli.
Valinnaiset
account
Prosessien aiheuttamien kuormituksen kirjaus.
crash
Järjestelmän kaatumisen selvittämistä auttamvat tiedostot.
games
Pelien muuttuvat tiedot.
Käyttäjien postilaatikot.
yp
Network Information Service (NIS) tietokannat.
Varatut hierarkiat
/var hierarkian alla on historiallisista syistä varattuja hakemistoja.
/var/backups /var/cron /var/msgs /var/preserve