Le cartelle presenti nel File System di qualsiasi distribuzione Linux seguono uno standard preciso, scritto dalla Linux Foundation, chiamato "Filesystem Hierarchy Standard" (FHS). L'ultima versione di questo standard è la 3.0, rilasciata il 3 giugno 2015 (fonte).
Le cartelle che sono comprese in tutte le distribuzioni Linux (ma che possono presentare eccezioni a seconda della distribuzione) sono le seguenti:
/
Questa è la radice di tutto il File System di Linux. Non può esistere nulla al di sopra di essa, salvo esplicito cambiamento tramite il comando chroot./bin
Tutti i binari delle applicazioni principali di sistema sono contenuti qui./boot
Qui sono contenuti i file del bootloader (es. il kernel, initd...) ma non i file di configurazione./cdrom
Cartella presente nelle vecchie distribuzioni Ubuntu. I CDRom inseriti nella macchina, comparivano qui./dev
Linux vede tutti i dispositivi connessi alla macchina come dei file simbolici. Quei file sono presenti in questa cartella (come hard disk esterni o interni, pen drive USB...). Sono presenti anche dispositivi virtuali (ossia non presenti fisicamente sul disco) comeurandom
,random
,null
,zero
.../etc
Tutti i file di configurazione della macchina sono contenuti qui. Sono compresi file di configurazione di applicazioni o sistema. Anche i file di configurazione del bootloader (vedi cartella/boot
) sono contenuti qui./home
Dentro home sono contenuti tutte le cartelle e i file di configurazione dei profili esistenti sul sistema (che hanno richiesto la creazione di una cartella utente). Paragonabile alla cartellaC:\users
./lib
I binari presenti in/bin
attingono le loro librerie da qui per funzionare./lost+found
Se il sistema andasse in crash, verrà effettuato un check del file system all'avvio successivo. Ogni file danneggiato, invece di essere cancellato, verrà spostato in questa cartella, permettendo all'utente di leggerli e salvarli, se possibile./media
Qui sono contenuti tutti i dispositivi rimovibili connessi alla macchina./mnt
Qui sono presenti i file system montati temporaneamente. Tecnicamente il comando mount permette di montare qualsiasi dispositivo in qualsiasi posizione nel sistema, ma questa cartella esiste per tenerli insieme e separati dal resto del file system./opt
Sta per "optional packages". I file necessari per il funzionamento di un pacchetto non vengono installati nelle cartelle predefinite, vengono posizionati qui, nelle rispettive sottocartelle (esempio:/opt/applicazione
)./proc
La cartella proc meriterebbe un articolo a parte. Qui sono contenuti file che presentano informazioni o stato del kernel e dei processi di sistema./root
Sarebbe l'equivalente della cartella/home
, ma per l'utente root, che per motivi di sicurezza, possiede la cartella utente in una locazione differente./run
Questa cartella è stata introdotta per contenere i file temporanei necessari al funzionamento delle applicazioni che non possono essere posizionati in/tmp
perché potrebbero essere eliminati e potrebbero essere necessari in futuro./sbin
Simile alla cartella/bin
, ma in questa cartella sono presenti binari che dovrebbero essere eseguiti da utenze amministrative o root./selinux
Se la distribuzione utilizza SELinux (Fedora o Red-Hat, per esempio), i file utilizzati da SELinux saranno contenuti qui. Ubuntu non possiede questa cartella, quindi se compare, è sicuramente un bug./srv
Sta per "Service Data", contiene le informazioni dei servizi forniti dalla macchina. Se, per esempio, si avesse un web server, la cartella di Apache con gli HTML sarebbe contenuta all'interno di/srv
./sys
Non presente su tutte le distribuzioni. Contiene le informazioni correnti di kernel, dispositivi e drivers./tmp
Tutti i file temporanei dell'utente o di applicazioni vengono contenuti qui. Generalmente, la cartella viene svuotata ad ogni riavvio. Per evitare che file temporanei vengano cancellati tra un riavvio e un altro, si può usare la cartella/var/tmp
./usr
Binari non fondamentali per il sistema, file di sola lettura o librerie per i binari installati dall'utente sono contenuti qui. Può contenere diverse sottocartelle a seconda della distribuzione./var
A differenza di/usr
, qui vengono scritti e modificati file continuamente. Contiene la cartella di default per il salvataggio dei log in/var/log
.