Un sistema Debian è organizzato secondo il Filesystem Hierarchy Standard (FHS). Questo standard definisce lo scopo di ogni directory. Per esempio, le directory di primo livello sono descritte come segue:
/bin/
: programmi base;
/boot/
: kernel Linux ed altri file necessari per il processo d'avvio iniziale;
/dev/
: dispositivi;
/etc/
: file di configurazione;
/home/
: file personali dell'utente;
/lib/
: librerie di base;
/media/*
: punti di montaggio dei dispositivi rimovibili (CD-ROM, chiavette USB ecc.);
/mnt/
: punto di montaggio temporaneo;
/opt/
: applicazioni extra fornite da terze parti;
/root/
: file personali dell'ammininistratore (utente root);
/run/
: dati volatili non persistenti tra i riavvii;
/sbin/
: programmi di sistema;
/srv/
: dati usati dai server ospitati dal sistema;
/tmp/
: file temporanei; questa directory viene svuotata all'avvio;
/usr/
: applicazioni; questa directory è ulteriormente suddivisa in bin
, sbin
, lib
(seguendo la logica della directory principale). Inoltre, /usr/share/
contiene i dati indipendenti dall'architettura. /usr/local/
è pensato per essere utilizzato dall'amministratore per installare manualmente le applicazioni senza sovrascrivere i file gestiti dal sistema di pacchettizzazione (dpkg
).
/var/
: dati variabili gestiti dai demoni. Questi includono file di log, code, stampe, cache ecc.
Molte distribuzioni moderne, inclusa Debian, stanno offrendo /bin
, /sbin
e /lib
come collegamenti simbolici alle directory corrispondenti sotto /usr
in modo che tutti i programmi e le librerie siano disponibili in un unico punto. Semplifica la protezione dell'integrità dei file di sistema e la condivisione di tali file tra più contenitori, ecc.
B.2.2. Directory home dell'utente
I contenuti della directory home dell'utente non sono standardizzati, ma ci sono ancora alcune convenzioni degne di nota. Una è che spesso la directory home dell'utente viene definita da una tilde (“~”). Questo è utile da sapere poichè gli interpreti di comando sostituiscono automaticamente la tilde con la directory corretta (di solito /home/utente/
).
Tradizionalmente, i file di configurazione dell'applicazione vengono spesso memorizzati direttamente nella directory home dell'utente, ma i loro nomi di solito iniziano con un punto (per esempio, il client email mutt
salva la sua configurazione in ~/.muttrc
). Si noti che i nomi dei file che iniziano con un punto sono nascosti per impostazione predefinita; il comando ls
li elenca solo quando viene aggiunta l'opzione -a
, mentre i file manager grafici necessitano di essere configurati.
Alcuni programmi utilizzano molteplici file di configurazione organizzati in una directory (ad esempio, ~/.ssh/
). Altre applicazioni usano anche loro directory per memorizzare una cache di dati scaricati. Questo significa che quelle directory possono arrivare ad utilizzare una grande quantità di spazio su disco.
Questi file di configurazione archiviati direttamente nella directory home dell'utente, comunemente denominati dotfile, nel tempo sono proliferati al punto che potrebbero quasi interamente riempirla. Fortunatamente uno sforzo collettivamente, sotto la direzione di FreeDesktop.org, ha portato alla "XDG Base Directory Specification", una convenzione che mira a ripulire questi file e directory. Questa specifica stabilisce che i file di configurazione devono essere salvati in ~/.config/
, quelli di cache in ~/.cache/
e quelli dell'applicazione in ~/.local/
(o in sottodirectory). Questa convenzione si sta lentamente consolidando e diverse applicazioni (specialmente quelle grafiche) hanno iniziato a rispettarla.
I desktop grafici di solito visualizzano i contenuti della directory ~/Desktop/
(o qualunque sia la traduzione appropriata per sistemi non configurati in inglese) sulla scrivania (ovvero ciò che è visibile sullo schermo una volta che tutte le applicazioni sono state chiuse o ridotte a icona).
Infine, a volte il sistema di posta elettronica memorizza i messaggi in arrivo nella dierctory ~/Mail/
.