Note
Per avere una completa comprensione del filesystem Linux, si raccomanda la lettura del documento Linux Filesystem Hierarchy, ospitato nel Progetto di documentazione Linux.
Un filesystem è un metodo di memorizzazione e organizzazione dei file, non solo in Linux ma anche in altri sistemi operativi per computer. In Linux, la maggior parte dei file sono “file regolari”, ad eccezione delle directory, i file speciali, i collegamenti, i socket e i named pipe. La maggior parte di tipi di file comuni con cui l'utente interagisce sono file regolari, directory e collegamenti.
Quando aprite un terminale (in Kubuntu è chiamato Konsole) e digitate
ls /
, si otterrà un elenco simile al seguente:
bin boot cdrom dev etc home initrd.img lib lib32 lib64 lost+found media mnt proc root sbin selinux srv sys tmp usr var vmlinuz
Note
Non tutti gli elenchi saranno esattamente a quello mostrato in alto.
La seguente descrizione è una panoramica dei file o delle directory elencate sopra.
Panoramica del filesystem
binContiene i comandi di terminale utili agli amministratori del sistema (che hanno privilegi di accesso completi) e agli utenti normali (che hanno privilegi di accesso limitati). I comandi in questa directory sono essenziali alle operazioni di un sistema Linux. Alcuni dei comandi nella directory
binsono bash, ls, cp, e cat.bootContiene i file richiesti per il processo di avvio. Nel caso di Kubuntu, contiene i file per il boot loader GRUB, i master boot record, i file map e il kernel Linux.
cdromUn symlink o “collegamento simbolico” a
/media/cdrom, che a sua volta è un symlink a/media/cdrom0. Se un CD viene inserito nel dispositivo CDROM, il contenuto di quel CD sarà disponibile nella directory/media/cdrom0.devLuogo per file speciali o di dispositivo. Per esempio,
/dev/sda0è la prima partizione sul disco rigido.etcContiene tutti i file di configurazione relativi al sistema, usati per controllare il funzionamento dei programmi.
homeContiene una directory principale per ciascun utente nel sistema. Una directory home di un utente può contenere file di configurazione personale e file come documenti, musica, video e altre cartelle e file definiti dall'utente.
initrd.imgUn symlink a
/boot/initrd.img-<kernel version>, richiesto per l'avvio del sistema.libContiene i moduli kernel in aggiunta alle immagini di libreria condivise necessarie per l'avvio del sistema e l'esecuzione di comandi.
lib32Lo stesso di
libdi cui sopra, ma contenente solo le versioni a 32 bit.lib64Lo stesso di
libdi cui sopra, ma contenente solo le versioni a 64 bit.lost+foundContiene i risultati di qualsiasi operazione di recupero dovuta a uno spegnimento improprio o un blocco del sistema.
mediaContiene le directory secondarie utilizzate come punti di montaggio per i dispositivi rimovibili, tipo dispositivi CDROM, dischi USB, dischi floppy.
mntPunto di montaggio generico per filesystem o dispositivi. Nella maggior parte dei casi, è
/mediadove la maggioranza dei dispositivi sarà montata automaticamente.optAbbreviazione per “optional” (opzionale). Questa directory è usata per i pacchetti aggiuntivi che sono tipicamente installati manualmente dall'utente.
procFilesystem virtuale che contiene informazioni di sistema al momento dell'esecuzione, presentate con una struttura simile a file.
rootLa directory principale dell'amministratore del sistema conosciuta come “radice”.
sbinContiene programmi essenziali al funzionamento del sistema, tipo fdisk, ifconfig, reboot e shutdown.
selinuxUno pseudo-filesystem contenente i comandi usati dal sottosistema kernel per la funzionalità Security-Enhanced Linux.
srvContiene i dati specifici del sito che viene servito dal sistema.
sysContiene il kernel Linux, il firmware e i file di sistema.
tmpContiene i file richiesti temporaneamente. Molti programmi utilizzano questa directory per creare i file di blocco e per la memorizzazione temporanea dei dati.
usrContiene la porzione maggiore dei dati nel sistema, incluso i dati dell'utente di sola lettura e file e programmi come gli eseguibili, la documentazione, le librerie, i file header e altro ancora.
varContiene i dati variabili come i file di registro di sistema, le directory di posta e di coda della stampante, come pure pure i file transienti e temporanei.
vmlinuzUn symlink a un eseguibile compresso del kernel Linux.