
Se vieni da Windows, la struttura del file system Linux può sembrare particolarmente estranea. Le lettere C: drive e drive sono sparite, sostituite da una / e directory dal suono criptico, la maggior parte delle quali ha tre nomi di lettere.
Il Filesystem Hierarchy Standard (FHS) definisce la struttura dei file system su 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 /, nota come directory root. Puoi pensare alla directory / come simile alla directory C: su Windows, ma questo non è strettamente vero, poiché Linux non ha lettere di unità. Mentre un'altra partizione si trova in D: su Windows, questa altra partizione appare in un'altra cartella sotto / su Linux.

/ bin – File binari utente essenziali
La directory / bin contiene i file binari (programmi) utente essenziali che devono essere presenti quando il sistema è montato in modalità utente singolo. Applicazioni come Firefox sono archiviate in / usr / bin, mentre importanti programmi di sistema e utilità come la shell bash si trovano in / bin. La directory / usr può essere memorizzata su un'altra partizione – posizionando questi file nella directory / bin si assicura che il sistema disponga di queste importanti utilità anche se non sono montati altri file system. La directory / sbin è simile – contiene i binari di amministrazione del sistema essenziali.

/ boot: file di avvio statici
La directory / boot contiene i file necessari per avviare il sistema – ad esempio, i file del boot loader GRUB e i tuoi kernel Linux sono memorizzati qui. I file di configurazione del boot loader non si trovano qui, ma si trovano 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 ancora su Ubuntu e altri sistemi operativi. È una posizione temporanea per i CD-ROM inseriti nel sistema. Tuttavia, il percorso standard per i supporti temporanei si trova nella directory / media.
/ dev – File dispositivo
Linux espone i dispositivi come file e la directory / dev contiene numerosi file speciali che rappresentano i dispositivi. Questi non sono file reali come li conosciamo, ma vengono visualizzati come file, ad esempio / dev / sda rappresenta la prima unità SATA nel sistema. Se si desidera partizionarlo, è possibile avviare un editor di partizioni e dirgli di modificare / dev / sda.
Questa directory contiene anche pseudo-dispositivi, che sono 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 tutti gli input: quando si invia l'output di un comando a / dev / null, lo si elimina.

/ etc – File di configurazione
La directory / etc contiene file di configurazione, che in genere possono essere modificati manualmente in un editor di testo. Nota che la directory / etc / contiene file di configurazione a livello di sistema: i file di configurazione specifici dell'utente si trovano nella home directory di ciascun utente.
/ home – Cartelle domestiche
La directory / home contiene una cartella home per ciascun utente. Ad esempio, se il tuo nome utente è bob, hai una cartella home situata in / home / bob. Questa cartella principale 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 principale e deve ottenere autorizzazioni elevate (diventare l'utente root) per modificare altri file sul sistema.

/ lib – Librerie condivise essenziali
La directory / lib contiene le librerie necessarie ai binari essenziali nella cartella / bin e / sbin. Le librerie necessarie ai binari nella cartella / usr / bin si trovano in / usr / lib.
/ lost + found – File recuperati
Ogni file system Linux ha una directory lost + found. Se il file system si arresta in modo anomalo, al successivo avvio verrà eseguito un controllo del file system. Tutti i file danneggiati trovati verranno inseriti nella directory lost + found, quindi puoi provare a recuperare quanti più dati possibile.
/ media: supporto rimovibile
La directory / media contiene sottodirectory in cui sono montati i dispositivi rimovibili inseriti nel computer. Ad esempio, quando si inserisce un CD nel proprio sistema Linux, verrà automaticamente creata 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 è quella in cui gli amministratori di sistema hanno montato file system temporanei mentre li utilizzavano. Ad esempio, se stai montando una partizione Windows per eseguire alcune operazioni di recupero file, potresti montarla su / mnt / windows. Tuttavia, è possibile montare altri file system in qualsiasi punto del sistema.
/ opt – Pacchetti opzionali
La directory / opt contiene sottodirectory per pacchetti software opzionali. È comunemente usato da software proprietario che non obbedisce alla gerarchia di file system standard – per esempio, un programma proprietario potrebbe scaricare i suoi file in / opt / application quando lo installi.
/ proc – Kernel e file di processo
La directory / proc è simile alla directory / dev perché non contiene file standard. Contiene file speciali che rappresentano le informazioni di sistema e di processo.

/ root – Directory principale di root
La directory / root è la home directory dell'utente root. Invece di trovarsi in / home / root, si trova in / root. Questo è distinto da /, che è la directory principale di sistema.
/ run – File dello stato dell'applicazione
La directory / run è abbastanza nuova e offre alle applicazioni un posto standard in cui archiviare i file temporanei che richiedono come socket e ID di processo. Questi file non possono essere archiviati in / tmp perché i file in / tmp potrebbero essere eliminati.
/ sbin – File binari di amministrazione del sistema
La directory / sbin è simile alla directory / bin. Contiene file binari essenziali che sono generalmente destinati a essere eseguiti dall'utente root per l'amministrazione del sistema.

/ selinux – SELinux Virtual File System
Se la tua distribuzione Linux usa SELinux per sicurezza (Fedora e Red Hat, per esempio), la directory / selinux contiene file speciali usati da SELinux. È simile a / proc. Ubuntu non utilizza SELinux, quindi la presenza di questa cartella su Ubuntu sembra essere un bug.
/ srv – Dati di servizio
La directory / srv contiene “dati per i servizi forniti dal sistema”. Se si utilizzava il server HTTP Apache per servire un sito Web, probabilmente si archiviano i file del proprio 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 generalmente eliminati ogni volta che il sistema viene riavviato e possono essere eliminati in qualsiasi momento da utility come tmpwatch.
/ usr – File binari utente e dati di sola lettura
La directory / usr contiene applicazioni e file utilizzati dagli utenti, anziché applicazioni e file utilizzati dal sistema. Ad esempio, le applicazioni non essenziali si trovano all'interno della directory / usr / bin anziché nella directory / bin e i file binari di amministrazione del sistema non essenziale si trovano nella directory / usr / sbin anziché nella directory / sbin. Le librerie per ognuna 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 è quella in cui le applicazioni compilate localmente vengono installate per impostazione predefinita – questo impedisce loro di confondere il resto del sistema.

/ var – File di dati variabili
La directory / var è la controparte scrivibile della directory / usr, che deve essere di sola lettura durante il normale funzionamento. I file di registro e tutto il resto che verrebbero normalmente scritti 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 la documentazione Standard della gerarchia dei file system.
