La struttura delle directory di Linux, spiegata
La struttura delle directory di Linux è essenziale per comprendere il funzionamento di questo potente sistema operativo, ampiamente utilizzato su server e personal computer.
In Linux tutto inizia con la directory root, simboleggiata da una barra (/), che funge da punto di partenza da cui si diramano tutte le altre directory.
All'interno di questa gerarchia, troveremo directory essenziali come /bin, che contiene gli eseguibili del sistema di base e /etc, dove sono archiviati i file di configurazione critici.
Il direttorio /casa È particolarmente importante per gli utenti poiché ospita i file e le impostazioni personali.
Un'altra directory chiave è /var, che salva file variabili come registri di sistema e code di stampa.
Comprendere come sono organizzate queste directory non solo semplifica la navigazione e la gestione del sistema, ma è anche fondamentale per la sicurezza e l'efficienza nella gestione dei server Linux.
Questa struttura gerarchica e logica non solo ottimizza il funzionamento del sistema, ma consente anche una facile scalabilità e personalizzazione, caratteristiche che rendono Linux una scelta popolare tra gli sviluppatori e gli amministratori di sistema in Argentina e nel mondo.
Se provieni da Windows, la struttura del file system Linux potrebbe sembrare particolarmente strana.
L'unità C:\ e le lettere dell'unità sono scomparse, sostituite da / e directory dal suono criptico, la maggior parte delle quali hanno nomi di tre lettere.
Lo standard di gerarchia del file system (FHS) definisce la struttura dei file system in Linux e altri sistemi operativi simili a UNIX. Tuttavia i file system Linux contengono anche alcune directory che non sono ancora definite dallo standard.
/ – La directory principale
Tutto sul tuo sistema Linux si trova nella directory /, conosciuta come directory root. Potresti pensare che la directory / sia simile alla directory C:\ in Windows, ma questo non è del tutto vero, poiché Linux non ha lettere di unità. Mentre un'altra partizione si troverebbe in D:\ in Windows, quest'altra partizione apparirà in un'altra cartella in/in Linux.
/bin: file binari utente essenziali
La directory /bin contiene i file binari utente essenziali (programmi) che devono essere presenti quando il sistema è montato in modalità utente singolo. Applicazioni come Firefox, se non installate come Snaps, sono archiviate in /usr/bin, mentre importanti programmi e utilità di sistema, come la shell bash, si trovano in /bin. La directory /usr potrebbe essere memorizzata su un'altra partizione. Posizionando questi file nella directory /bin si garantisce che il sistema disporrà di queste importanti utilità anche se non sono montati altri file system. La directory /sbin è simile: contiene i file binari essenziali per l'amministrazione del sistema.
/boot – File di avvio statici
La directory /boot contiene i file necessari per avviare il sistema. Ad esempio, i file del bootloader GRUB e i relativi kernel Linux sono archiviati qui. Tuttavia, i file di configurazione del bootloader non si trovano qui; sono in /etc con gli altri file di configurazione.
/cdrom – Punto di montaggio storico per CD-ROM
La directory /cdrom non fa parte dello standard FHS, ma la troverai comunque su Ubuntu e altri sistemi operativi. Si tratta di una posizione temporanea per i CD-ROM inseriti nel sistema. Tuttavia, la posizione standard per i supporti temporanei è all'interno della directory /media.
/dev – File del dispositivo
Linux espone i dispositivi come file e la directory /dev contiene una serie di file speciali che rappresentano i dispositivi. Questi non sono file reali come li conosciamo, ma appaiono come file. Ad esempio, /dev/sda rappresenta la prima unità SATA sul sistema. Se vuoi partizionarlo, puoi avviare un editor di partizioni e dirgli di modificare /dev/sda.
Questa directory contiene anche gli pseudodevice, ovvero dispositivi virtuali che in realtà non corrispondono all'hardware. Ad esempio, /dev/random produce numeri casuali. /dev/null è un dispositivo speciale che non produce output e scarta automaticamente tutte le voci; quando si reindirizza l'output di un comando a /dev/null, lo si scarta.
/etc – File di configurazione
La directory /etc contiene file di configurazione, che solitamente possono essere modificati manualmente in un editor di testo. Tieni presente che la directory /etc/ contiene file di configurazione a livello di sistema. I file di configurazione specifici dell'utente si trovano nella directory home di ciascun utente.
/home – Cartelle Home
La directory /home contiene una cartella home per ciascun utente. Ad esempio, se il tuo nome utente è bob, la tua cartella home si trova in /home/bob. Questa cartella home contiene i file di dati dell'utente e i file di configurazione specifici dell'utente. Ogni utente ha accesso in scrittura solo alla propria cartella home e deve ottenere autorizzazioni elevate (diventare root) per modificare altri file sul sistema.
/lib – Librerie condivise essenziali
La directory /lib contiene le librerie che necessitano dei file binari essenziali nelle cartelle /bin e /sbin. Le librerie che necessitano dei binari nella cartella /usr/bin si trovano in /usr/lib. Vedrai anche una cartella omologa /lib64 sui sistemi a 64 bit.
/lost+found – File recuperati
Ogni file system Linux ha una directory smarrita+trovata. Se il file system non funziona, verrà eseguito un controllo del file system al successivo avvio. Tutti i file corrotti trovati verranno inseriti nella directory Lost+Found, così potrai provare a recuperare quanti più dati possibile.
La directory /media contiene sottodirectory in cui vengono montati i dispositivi multimediali rimovibili inseriti nel computer. Ad esempio, quando inserisci un CD nel tuo sistema Linux, verrà creata automaticamente una directory all'interno della directory /media. È possibile accedere al contenuto del CD all'interno di questa directory.
/mnt – Punti di montaggio temporanei
Storicamente parlando, la directory /mnt è il luogo in cui gli amministratori di sistema montavano i file system temporanei mentre li utilizzavano. Ad esempio, se stai montando una partizione Windows per eseguire alcune operazioni di ripristino dei file, puoi montarla su /mnt/windows. Tuttavia, puoi montare altri file system ovunque nel sistema.
/opt – Pacchetti opzionali
La directory /opt contiene sottodirectory per pacchetti software opzionali. È comunemente utilizzato da software proprietario che non obbedisce alla gerarchia del file system standard. Ad esempio, un programma proprietario potrebbe scaricare i suoi file in /opt/application quando lo installi.
/proc – File di processo e del kernel
La directory /proc è simile alla directory /dev in quanto non contiene file standard. Contiene file speciali che rappresentano informazioni sul sistema e sul processo.
/root – Directory principale della radice
La directory /root è la directory home dell'utente root. Invece di trovarsi in /home/root, si trova in /root. Questo è diverso da /, che è la directory root del sistema.
/run: file di stato dell'applicazione
La directory /run fornisce alle applicazioni una posizione standard in cui archiviare i file temporanei di cui hanno bisogno, come socket e ID di processo. Questi file non possono essere archiviati in /tmp perché potrebbero essere eliminati.
/sbin – Binari di amministrazione del sistema
La directory /sbin è simile alla directory /bin. Contiene file binari essenziali che generalmente sono destinati ad essere eseguiti dall'utente root per l'amministrazione del sistema.
/snap – Archiviazione per i pacchetti Snap
Un'altra directory che non fa parte di FHS ma che è comune vedere in questi giorni è /snap. Contiene i pacchetti Snap installati e altri file associati a Snap. Ubuntu ora utilizza Snaps per impostazione predefinita, ma se usi una distribuzione diversa che non lo fa, non vedrai questa directory.
/srv – Dati del servizio
La directory /srv contiene "dati dei servizi forniti dal sistema". Se utilizzassi il server HTTP Apache per servire un sito Web, probabilmente memorizzeresti i file del tuo sito Web in una directory all'interno della directory /srv.
/tmp – File temporanei
Le applicazioni memorizzano i file temporanei nella directory /tmp. Questi file vengono solitamente eliminati ogni volta che il sistema viene riavviato e possono essere eliminati in qualsiasi momento utilizzando utilità come systemd-tmpfiles.
/usr – File binari utente e dati di sola lettura
La directory /usr contiene applicazioni e file utilizzati dagli utenti, al contrario delle applicazioni e dei file utilizzati dal sistema. Ad esempio, le applicazioni non essenziali si trovano nella directory /usr/bin invece che nella directory /bin, mentre i file binari di amministrazione del sistema non essenziali si trovano nella directory /usr/sbin invece che nella directory /sbin. Le librerie per ciascuno si trovano nella directory /usr/lib. La directory /usr contiene anche altre directory. Ad esempio, i file indipendenti dall'architettura, come la grafica, si trovano in /usr/share.
La directory /usr/local è dove vengono installate per impostazione predefinita le applicazioni compilate localmente. Ciò impedisce loro di rovinare il resto del sistema.
/var – File di dati variabili
La directory /var è la controparte scrivibile della directory /usr, che dovrebbe essere di sola lettura durante il normale funzionamento. I file di registro e tutto ciò che normalmente verrebbe scritto in /usr durante il normale funzionamento vengono scritti nella directory /var. Ad esempio, troverai i file di registro in /var/log.
Per informazioni tecniche più dettagliate sulla gerarchia del file system Linux, consultare il Documentazione standard sulla gerarchia del file system.