## Cartelle e sistemi dei file

In Linux ed Unix ogni cosa è un file. Le cartelle sono file, i file sono file, ed i dispositivi sono file. I dispositivi sono di solito chiamati anche nodi; comunque, sono sempre file.

I sistemi Linux ed Unix sono organizzati in una struttura gerarchica, ad albero. Il livello più alto del sistema dei file è il `/` o cartella radice. Tutti gli altri file e cartelle esistono sotto la cartella radice. Per esempio, `/home/jebediah/cheeses.odt` mostra il percorso corretto per il file `cheeses.odt` che esiste nella cartella `jebediah`, che è sotto la cartella `home`, che a sua volta è sotto la cartella radice (`/`.

Sotto la cartella radice (`/`) vi è un insieme di cartelle importanti comuni alla maggior parte delle distribuzioni Linux. La seguente è una lista di cartelle comuni che sono direttamente sotto la cartella radice (`/`):

- `/bin` - importanti comandi, che storicamente sono stati binari, ma possono essere anche script di shell

- `/boot` - boot file di configurazione, kernel ed altri file necessari al momento del boot

- `/dev` - i file dei device (dispositivi)

- `/etc` - file di configurazione, script d'avvio, etc.

- `/home` - cartelle home per i diversi utenti

- `/initrd` - usata quando si crea un iniziale RAM Disk personalizzato

- `/lib` - librerie di sistema

- `/lost+found` - fornisce un sistema lost+found per i file che esistono sotto la cartella radice (`/`)

- `/media` - media rimovibili montati (caricati) automaticamente come CD, fotocamere digitali, etc.

- `/mnt` - sistemi di file montati manualmente nel proprio hard disk

- `/opt` - fornisce una collocazione per applicazioni opzionali (di terze parti) per l'installazione; queste sono solitamente compilate staticamente e possono essere usate in altre versioni o distribuzioni Linux

- `/proc` - cartella speciale dinamica che mantiene informazioni sullo stato del sistema, inclusi i processi attualmente in esecuzione

- `/root` - la cartella home dell'utenteroot, che si pronuncia "slash-root"

- `/sbin` - importanti binari e script di sistema, intesi solitamente per essere eseguiti come utente root

- `/srv` - può contenere file che sono al servizio di altri sistemi

- `/sys` - simile al sistema dei file /proc, ma contiene informazioni di sistema non relative a processi in esecuzione

- `/tmp` - file temporanei

- `/usr` - applicazioni e file in sola lettura che sono per la maggior parte disponibili all'accesso da parte di tutti gli utenti

- `/var` - file variabili come log e database

Capitolo 2. Fondamenti di Linux |  | I permessi