Il filesystem
Il file system, inteso come la directory che contiene tutte le altre, è rappresentato dal simbolo «/» detto root (radice), da non confondere con la cartella /root che rappresenta la Home dell'amministratore.
Nei sistemi Unix e suoi derivati è definito uno standard sull'albero delle directory di sistema. Tuttavia ogni distribuzione può apportare proprie personalizzazioni, seguirà quindi l'elenco delle directory e del loro utilizzo su Ubuntu.
/bin
Contiene i programmi basilari per la gestione del sistema, in pratica i comandi base utilizzabili dalla riga di comando.
/boot
Contiene le immagini del kernel e file indispensabili al bootstrap del sistema, in particolare il file /boot/grub/grub.cfg fondamentale per impostare i parametri di avvio di Grub il bootloader.
/dev
È la directory che individua sotto forma di file le periferiche hardware.
Per esempio, un hard disk può essere qui individuato dal file /dev/sda e le sue partizioni attraverso i file /dev/sda1, /dev/sda2, ecc. Occorre tuttavia ricordare che in questa directory i dispositivi di memorizzazione non sono direttamente esplorabili. Per visionarne i contenuti si possono sfruttare le cartelle che Ubuntu crea automaticamente nella directory /media, o alternativamente effettuare il montaggio manualmente.
/etc
Contiene i file di configurazione del sistema.
Fra i numerosi file è opportuno ricordare il /etc/fstab, fondamentale per definire le partizioni da rendere disponibili all'avvio del sistema.
Segue un breve elenco con il contenuto di alcune delle sotto-directory principali:
/etc/apt: file di configurazione dei repository in particolare /etc/apt/sources.list.
/etc/grub.d: file per personalizzare la sequenza di boot del sistema.
/etc/samba: /etc/samba/smb.conf file di configurazione per la condivisione dati tramite Samba.
/etc/X11: file per la configurazione delle schede video.
/home
Contiene tutte le directory personali degli utenti.
Ad esempio se è stato creato un utente con il nome mario, allora all'interno della directory /home sarà presente la cartella /home/mario. Questa sotto-cartella riveste un ruolo importantissimo, in quanto memorizza dati e impostazioni dei programmi utilizzati dallo stesso utente.
I dati vengono memorizzati sotto forma di file nascosti (davanti al nome hanno un punto). Ad esempio nella cartella .mozilla saranno presenti i dati riguardanti il browser Firefox (segnalibri, estensioni, cronologia, ecc..).
Per accedere ai file nascosti selezionare il menù Visualizza → Mostra file nascosti nel file manager Nautilus.
/lib
Contiene tutte le librerie condivise del sistema.
/lost+found
Contiene le parti di file recuperate al riavvio in caso di interruzione della corrente elettrica, nel caso in cui vengano persi i dati sui quali si stava lavorando.
/media
E' la directory dove normalmente vengono montati i dispositivi removibili o in cui montare manualmente i dispositivi.
/mnt
E' la directory di mount. Qui vengono generalmente montate le varie unità.
/opt
Letteralmente optional (opzionale), contiene programmi e add-on che non sono parte dell'installazione standard. Ubuntu non installa quasi nulla in questa directory, ma altre distribuzioni ne fanno un uso più importante.
/proc
Contiene le informazioni relative al sistema, come un file system virtuale creato dal kernel dinamicamente istante per istante, in memoria e non sul disco.
/root
Contiene la directory home dell'amministratore del sistema.
/sbin
Contiene programmi di sistema eseguibili solo dall'amministratore del sistema come ad esempio fdisk o fsck.
/tmp
Contiene dei file temporanei.
/usr
Contiene tutte le applicazioni ed i file che non servono per la gestione del sistema. Qui vengono inoltre installati i vari pacchetti software.
/usr/bin: file binari di sistema non fondamentali al funzionamento dedicati a tutti gli utenti.
/usr/lib: librerie per i file binari contenuti in /usr/bin e /usr/sbin.
/usr/include: file necessari alla corretta interpretazione dei programmi da parte del sistema.
/usr/sbin: file binari di sistema non fondamentali al funzionamento dello stesso, ad esempio demoni per servizi di connessione alla rete.
/usr/share: file indipendenti dall'architettura dei programmi.
/usr/src: codice sorgente, ad esempio del kernel e dei relativi headers.
/var
Contiene tutti file che hanno informazioni dinamiche, che tendono a modificarsi con il tempo: log, file di pid e lock dei processi in esecuzione, directory di spool (stampa, mail...) ecc.
/var/log: file di registro del sistema in cui viene registrato ciò che avviene al sistema in ogni istante.