Il Filesystem Hierarchy Standard (FHS) definisce la struttura dei file system su Linux e altri sistemi operativi simili a UNIX. Tuttavia, i file system di Linux contengono anche alcune directory che non sono ancora definite dallo standard.
/ - La directory di root
Tutto sul tuo sistema Linux si trova nella directory /, nota come directory root. Puoi pensare che la directory / sia simile alla directory C: su Windows, ma questo non è assolutamente vero, dato che 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 - Binari utente essenziali
La directory / bin contiene i binari utente essenziali (programmi) che devono essere presenti quando il sistema è montato in modalità utente singolo. Applicazioni come Firefox sono archiviate in / usr / bin, mentre programmi e utility di sistema importanti come la bash shell si trovano in / bin. La directory / usr può essere archiviata su un'altra partizione - collocando questi file nella directory / bin si assicura che il sistema disponga di queste importanti utility anche se nessun altro file system è montato. La directory / sbin è simile - contiene binari di amministrazione di 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 kernel di Linux sono memorizzati qui. I file di configurazione del boot loader non si trovano qui, tuttavia sono in / etc con gli altri file di configurazione.
/ cdrom - Historical Mount Point per CD-ROM
La directory / cdrom non fa parte dello standard FHS, ma lo troverai comunque su Ubuntu e altri sistemi operativi. È una posizione temporanea per i CD-ROM inseriti nel sistema. Tuttavia, la posizione standard per i media temporanei si trova nella directory / media.
/ dev - File di dispositivo
Linux espone i dispositivi come file e la directory / dev contiene un numero di file speciali che rappresentano i dispositivi. Questi file non sono veri come li conosciamo, ma appaiono 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 canalizza l'output di un comando su / dev / null, lo si elimina.
/ etc - File di configurazione
La directory / etc contiene i file di configurazione, che possono essere generalmente modificati a mano in un editor di testo. Si noti 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 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 home contiene i file di dati dell'utente e i file di configurazione specifici dell'utente. Ogni utente ha solo accesso in scrittura alla propria cartella home e deve ottenere autorizzazioni elevate (diventano utenti 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 richieste dai 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 prossimo avvio verrà eseguito un controllo del file system. Qualsiasi file danneggiato trovato verrà inserito nella directory lost + found, quindi puoi tentare di recuperare il maggior numero di dati possibile.
/ media - Supporto rimovibile
La directory / media contiene le sottodirectory in cui sono montati i dispositivi multimediali rimovibili inseriti nel computer. Ad esempio, quando inserisci un CD nel tuo sistema Linux, verrà automaticamente creata una directory all'interno della directory / media. È possibile accedere ai contenuti del CD all'interno di questa directory.
/ mnt - Punti di montaggio temporanei
Storicamente parlando, la directory / mnt è quella in cui gli amministratori di sistema montano i file system temporanei mentre li usano. Ad esempio, se stai montando una partizione Windows per eseguire alcune operazioni di recupero file, puoi montarla su / mnt / windows. Tuttavia, è possibile montare altri file system in qualsiasi parte del sistema.
/ opt - Pacchetti opzionali
La directory / opt contiene sottodirectory per pacchetti software opzionali. È comunemente usato da software proprietario che non obbedisce alla gerarchia del file system standard - ad esempio, un programma proprietario può scaricare i suoi file in / opt / application quando lo si installa.
/ proc - Kernel e file di processo
La directory / proc simile alla directory / dev perché non contiene file standard. Contiene file speciali che rappresentano informazioni di sistema e di processo.
/ root - Directory principale di root
La directory / root è la directory home dell'utente root. Invece di essere localizzato in / home / root, si trova in / root. Questo è distinto da /, che è la directory root del sistema.
/ run - File di stato dell'applicazione
La directory / run è abbastanza nuova e offre alle applicazioni una posizione standard per archiviare i file transitori che richiedono come socket e ID di processo. Questi file non possono essere memorizzati in / tmp perché i file in / tmp possono essere cancellati.
/ sbin - Binari di amministrazione del sistema
La directory / sbin è simile alla directory / bin. Contiene i binari essenziali che sono generalmente progettati per essere eseguiti dall'utente root per l'amministrazione del sistema.
/ selinux - SELinux Virtual File System
Se la tua distribuzione Linux utilizza SELinux per la sicurezza (Fedora e Red Hat, per esempio), la directory / selinux contiene file speciali usati da SELinux. È simile a / proc. Ubuntu non usa 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 stesse utilizzando il server Apache HTTP per servire un sito Web, è probabile che i file del sito Web vengano archiviati 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 cancellati in qualsiasi momento da utility come tmpwatch.
/ usr - 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 all'interno della directory / usr / bin invece della directory / bin e i file binari di amministrazione del sistema non essenziali si trovano nella directory / usr / sbin invece della directory / sbin. Le librerie per ciascuna 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 ingombrare 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 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 la documentazione di Fileystem Hierarchy Standard.