Comprendere la Struttura della Directory Virtuale di Linux

Gli utenti principianti di Linux si trovano di fronte a una montagna enorme di informazioni da apprendere. Cos’è questa cosa del terminale? Come posso eseguire aggiornamenti software? Quale distribuzione devo scegliere? Queste sono tutte domande comuni. Tuttavia, c’è una domanda che tormenta ancora molti utenti di Linux più esperti: cosa c’è in ciascuna delle directory nel sistema di directory virtuale di Linux? Qui copriamo tutto da “/” a “/boot” nella nostra guida al sistema di directory virtuale di Linux.
Cos’è il Sistema di Directory Virtuale di Linux?
Un Sistema di Directory Virtuale è un modo di organizzare file e directory in un sistema operativo. Il motivo per cui è chiamato “virtuale” è che non c’è un componente fisico reale – su Windows, hai il disco “C:”, il disco “D:” e così via. Su Linux, tutti i dischi fisici sono trattati come file nel tuo sistema di directory virtuale. È da qui che proviene la frase “tutto è un file”. Anche il disco nel tuo sistema da cui stai lavorando per il tuo sistema operativo è trattato come un file.
Leggi anche: Comandi Utili di Linux per Elencare i Contenuti di una Directory
Comprendere il Sistema di Directory Virtuale
La directory root: /
Iniziamo dall’inizio. La directory “/” (o “root”) è quella che contiene tutto nel sistema. Eseguendo il comando cd /, ti stai zoomando il più possibile nel tuo sistema. Cambia nella directory “/” e esegui il comando ls. Inizierai a vedere cosa intendo. Anziché “Documenti”, “Download” o “Immagini”, ottieni cose come “bin”, “dev” e “home”. Sarà un po’ diverso a seconda della tua distribuzione, ma ci sono alcune directory di base che saranno praticamente sempre presenti. Tutte le directory da qui avranno “/” all’inizio perché è la radice di tutto – da qui il nome “root”.


La directory Binaria: /bin
La directory “/bin” contiene tutti i programmi binari nel tuo sistema. Se ci guardi dentro, vedrai comandi comuni come cd e ls che abbiamo già usato. Puoi trovarli anche eseguendo i comandi which cd o which ls. Nella maggior parte dei moderni sistemi, la directory “/bin” è collegata alla directory “/usr/bin”. La directory “/usr” è trattata più avanti, ma in breve, vengono utilizzate per separare i binari destinati al sistema e agli amministratori nella directory “/bin” e gli utenti di sistema nella directory “/usr/bin”.

La directory di Boot: /boot
La directory “/boot” contiene tutte le informazioni di base di cui il tuo sistema avrà bisogno per avviarsi. Tutti i kernel che hai installato nel tuo sistema, tutti i file di configurazione per quei kernel, informazioni per Grub – tutto qui. È una directory molto importante, ed è trattata come una partizione del sistema EFI separata dal tuo sistema. Ecco perché quando crei partizioni manuali, devi crearne almeno “/” e “/boot” separatamente.

La directory Devices: /dev
La directory “/dev” contiene tutti i file di dispositivo del sistema, che sono tutti i componenti hardware del tuo sistema (insieme ad alcuni altri dispositivi virtuali importanti come “null” e “random”). Guardandola, noterai cose come “cpu,” “sda,” “tty,” “stderr,” “stdin” e “stdout.” Tutti questi sono file di dispositivo importanti con cui interagirai quotidianamente.

La directory Etc.: /etc
Questa è per cose casuali. La directory “/etc”, pronunciata come Etsy, è dove troverai molti file di configurazione per la maggior parte delle cose nel tuo sistema. Cose come SSH, Pipewire, systemD e Firefox hanno tutti file di configurazione qui. È una sorta di cassetto disordinato del Sistema di Directory Virtuale – super importante ma un po’ ingombrante per trovare le cose.
Leggi anche: Come Rimuovere File Residui Dopo Aver Disinstallato Software su Linux
La directory Home: /home
La directory “/home” contiene tutti i file personali per gli utenti. Quando viene creato un utente, generalmente gli viene data una directory “/home” e i permessi per modificare solo i file nella propria directory “/home”. Alcuni utenti hanno anche diritti di amministratore, che è ciò che ti dà sudo, ma ciò significa solo assumere i diritti dell’utente root. Se esegui whoami e sudo whoami consecutivamente, inizierai a vedere questo. Questa è la directory con cui sei probabilmente più familiare.

Le directory di Libreria: /lib, /lib32 e /lib64
Le directory “/lib” contengono tutte le librerie specifiche che i programmi in “/bin” o “/sbin” (trattate più avanti) utilizzeranno. Qui è dove viene memorizzato il firmware, insieme ad altre librerie per installare diverse parti del kernel e moduli del kernel. Le directory sorelle “/lib32” e “/lib64” contengono semplicemente versioni per sistemi operativi a 32 bit e 64 bit e sono quasi identiche alla directory base “/lib”.

La directory Media: /media e /mnt
Le sto raggruppando insieme perché spesso servono lo stesso scopo. La directory “/media” è dove vengono archiviati i contenuti di CD, DVD o altri supporti rimovibili. Se collego un’unità USB, la vedrai comparire in “/media” nella maggior parte dei sistemi.
La directory “/mnt” è utilizzata per montaggi a lungo termine. Ad esempio, se dovessi aggiungere un altro SSD al mio sistema, potrei impostare un punto di montaggio permanente per esso nella directory “/mnt”. Oppure, se ho un NAS a casa, potrei montare quelle informazioni anche nella directory “/mnt”.
/opt
La directory “/opt” contiene pacchetti software aggiuntivi per uso di un utente. È molto più piccola di quanto pensi – la mia contiene solo file per Brave, Google Chrome e Sublime Text. Se aggiungi un repository per un pezzo di software, probabilmente lo troverai in “/opt”.
/proc
La directory “/proc” contiene informazioni hardware e informazioni sui processi in corso. Mentre il sistema figura come appare il paesaggio hardware, quello verrà memorizzato nella directory “/proc”. Ad esempio, se esegui il comando cat /proc/cpuinfo, imparerai di più sulla tua CPU di quanto pensassi di voler sapere.
Leggi anche: Utilizzando il File System /proc per Esaminare il Tuo Funzionamento Interno di Linux
/root
Questa è semplicemente la versione dell’utente root di una directory “/home”. Se lavori molto come utente root, troverai cose lì dentro.
/run
La directory “/run” è in qualche modo simile a “/proc” – solo che invece di hardware, “/run” si concentra sul software. Entrambe memorizzano quello che viene chiamato “dati di runtime volatili”, il che significa che queste directory vengono praticamente svuotate ogni volta che riavvii il sistema, ma memorizzano informazioni utili mentre il sistema operativo impara di più sul tuo sistema e su come lo stai utilizzando.
/sbin
La directory “/sbin” contiene programmi binari che dovrebbero essere resi disponibili solo all’utente root. Ad esempio, il programma binario che spegne il tuo sistema (poweroff) dovrebbe probabilmente rimanere in “/sbin”.

/srv
Questa è la directory che contiene dati specifici del sito basati sui servizi accessibili via Web che stai eseguendo. Cose come FTP e HTTP avranno informazioni specifiche memorizzate qui. Io non ne gestisco alcuno, quindi la mia directory “/srv” è vuota.
/sys
La directory “/sys” contiene informazioni sui dispositivi chiave nel sistema. Nella mia, vedrai cose come “/sys/dev,” “/sys/firmware” e “/sys/kernel.” Questa è una selezione dei dispositivi hardware super importanti nella directory “/dev”.

/tmp
La directory “/tmp” è utilizzata per memorizzare informazioni temporanee da vari programmi nel tuo sistema. Le informazioni vengono memorizzate qui per solo un paio di giorni senza un riavvio, quindi sono solo lucchetti temporanei su informazioni per mantenere libero spazio di archiviazione. Non c’è molto che la maggior parte degli utenti avrà mai bisogno di fare con la directory “/tmp”.
/usr
La directory “/usr” è sempre più frequentemente toccata. Ora, directory come “/bin,” “/lib,” e “/sbin” sono collegate a versioni di quelle directory in “/usr.” Puoi vedere questo quando eseguo il comando ll nel mio sistema.
Sono collegamenti simbolici, quindi possono essere scollegati, ma il sistema finisce con il leggere dalla directory “/usr/bin” o dalla directory “/usr/sbin”, piuttosto che dalle directory “/bin” o “/sbin”. Questo viene fatto tutto per semplificare la gerarchia presente e rendere più facile trovare questi programmi. È una bella cosa per la qualità della vita che rende più facile passare da Linux a Unix o non avere posizioni fisse per diversi binari.
/var
La directory “/var” è simile alla directory “/tmp”, ma mantiene i dati per un po’ più a lungo. Memorizza anche cose come file di log e immagini disco di macchine virtuali KVM.
Come puoi vedere, il sistema di directory virtuale di Linux è concepito per organizzare i file che il tuo sistema utilizzerà e facilitare l’amministrazione e la gestione del tuo sistema. Ovviamente, puoi fare tutto ciò che vuoi con questo sistema (questa è la bellezza di Linux), ma lasciare le cose come sono va bene per la maggior parte degli utenti desktop. Potresti anche voler scoprire quale filesystem è il migliore per Linux nel 2021.