Vuoi conoscere lo spazio occupato su un determinato disco o vedere lo spazio disponibile di tutte le unità collegate? Con il comando df possiamo avere informazioni dettagliate su: spazio libero, occupato e anche sugli inode stessi.
In questa guida ti mostrerò come usare il comando df, quali sono le sue principali opzioni e quali comandi alternativi si possono usare.
Table of Contents
Sintassi del comando df
Il comando df (che indica disk free) può essere usato per verificare la quantità di spazio libero in un file system.
La sintassi di base di df è questa:
df [opzioni][file]
Per mostrare lo spazio disponibile su tutti i file system, basterà usarlo in questo modo:
df
Adesso andiamo a vedere dei casi d’uso specifici con le opzioni del comando, in questo modo capiremo meglio come utilizzarlo.
Casi d’uso del comando df
Ci sono diversi comandi Linux che possono esserci utili quando vogliamo conoscere lo spazio occupato o libero sul disco. Come abbiamo già visto, con il comando du ad esempio possiamo ottenere informazioni sullo spazio occupato da file e cartelle specifiche.
Adesso, invece, andiamo a vedere come si usa df e le sue principali opzioni.
Come leggere l’output del comando df
Una volta eseguito il comando df ci verranno mostrati i dettagli delle dimensioni dei file system.

Nel dettaglio avremo questi dati:
- prima colonna: nome del file system / unità – in questo esempio vedi “/dev/sda1” che si riferisce a una partizione, per approfondire puoi esserti utile sapere come funziona il comando fdisk;
- seconda colonna (1K-blocchi oppure Dim): indica le dimensioni totali di quel file system. (Il modo in cui vengono indicate dipende dalle opzioni che usiamo, le vedremo nei prossimi paragrafi).
- terza colonna (usati): indica la quantità di spazio utilizzata;
- quarta colonna (disponib.): rappresenta la quantità di spazio ancora libero e disponibile;
- quinta colonna (uso%): indica quanto spazio è utilizzato rispetto al totale, in valore percentuale;
- sesta colonna: ci fornisce il mount point del file system.
Tieni presente che se usi btrfs come tipo di file system è meglio utilizzare il comando btrfs filesystem df in quanto fornisce un’indicazione più accurata sull’uso del disco rispetto a df.
In questo esempio puoi vedere che i due comandi mostrano dati differenti e btrfs filesystem df mostra più dettagli.

Ottenere le informazioni in formato leggibile
La prima cosa che possiamo notare utilizzando il comando df senza nessuna opzione è che lo spazio disponibile ci viene mostrato usando come unità di misura dei blocchi da 1K.
Se vogliamo ottenere delle informazioni più facilmente comprensibili, è comodo richiedere un formato più adatto alla lettura (il cosiddetto human readable).
Allo stesso modo di altri comandi Linux che abbiamo visto, anche in questo caso ci basta aggiungere l’opzione --human-readable che in formato abbreviato è -h, in questo modo:
df -h
In questo esempio si può vedere che aggiungendo l’opzione -h, le dimensioni nelle tre colonne vengono mostrate in M o in G (e sono quindi più facili da comprendere).
Recuperare informazioni sugli inode
Se vogliamo conoscere il numero di inode utilizzati e quelli disponibili per ogni file system, possiamo utilizzare l’opzione -i.
Si usa in questo modo:
df -i
L’output ci indicherà:
- nome del file system
- numero di inode totali;
- numero di inode utilizzati;
- numero di inode liberi;
- percentuale di inode utilizzati rispetto al totale;
- mount point.

Visualizzare lo spazio disponibile totale
Finora con il comando df abbiamo ottenuto i dettagli sullo spazio utilizzato dai diversi file system. E se, invece, volessimo controllare lo spazio totale?
In questo caso possiamo farlo usando l’opzione --total.
Per una migliore resa, possiamo combinarla all’opzione -h che, come abbiamo visto nell’esempio di prima, ci restituisce la dimensione in M o G.
Usando il comando:
df -h --total
Avremo, rispetto agli esempi di prima, un’ultima riga in cui ci viene mostrato lo spazio totale.
Qui di seguito un esempio:

Nota: ha più senso usare l’opzione --total insieme alle opzioni di filtraggio del tipo di file system (che vedremo più avanti nella guida).
Visualizzare lo spazio di un mount point specifico
Come abbiamo visto nei diversi esempi, di default il comando disk free ci permette di ottenere informazioni su tutti i file system. Se abbiamo una lista molto lunga o vogliamo ottenere informazioni specifiche più rapidamente, possiamo andare a specificare il mount point, in questo modo:
df -h /
Questo ci permette di vedere solo lo spazio occupato dalla root.

Ottenere informazioni in base al tipo di file system
Se vogliamo che nella lista di informazioni venga indicato anche il tipo di file system, ci basta aggiungere l’opzione -T al comando.
Per esempio usando il comando:
df -h -T
Possiamo vedere che viene aggiunta una nuova colonna “Tipo” in cui viene specificato il tipo di file system per ogni riga.

Se, invece, vogliamo usare il comando df solo per visualizzare la dimensione di file system di un tipo specifico, ci basterà indicarlo usando l’opzione -t.
In questo esempio vado a specificare di restringere i risultati a ext4:
df -h -t ext4

Possiamo anche fare una ricerca inversa e andare a mostrare tutti i file system ad eccezione di un particolare tipo.
In questo caso si usa l’opzione -x seguita dal tipo di file system che non vogliamo mostrare.
Usando il comando:
df -h -x ext4
Ci verranno mostrati tutti i file system che non sono di tipo ext4.

Visualizzare solo informazioni richieste
Se vogliamo che l’output del comando df ci dia solo alcune informazioni, possiamo richiedere una sorta di lista personalizzata andando a indicare i campi che vogliamo includere.
Il procedimento è semplice, bisogna aggiungere l’opzione:
--output[=FIELD_LIST]
La lista dei campi (field_list) deve includere quelli che vogliamo mostrare.
In questa tabella abbiamo raccolto i campi che puoi usare:
Campo | Descrizione |
|---|---|
source | Il file system |
fstype | Il tipo di file system |
itotal | Numero totale di inode |
iused | Numero di inode utilizzati |
iavail | Numero di inode disponibili |
ipcent | Percentuale di inode utilizzati (rispetto a quelli disponibili) |
size | Spazio totale del disco |
used | Spazio del disco utilizzato |
avail | Spazio del disco disponibile |
pcent | Percentuale di spazio utilizzato (sul totale) |
file | Il nome del file (è opzionale, solo se indicato nella richiesta) |
target | Il mount point |
Ricordati che i campi andranno indicati separati da una virgola e senza spazi. In questo esempio vogliamo che vengano mostrati solo: file system, inode usati e spazio usato, il comando da usare sarà:
df --output=source,iused,used
Come risultato vedremo la prima colonna che indica il file system, seguita dal numero di inode usati e dallo spazio usato su disco.

Nota: puoi sempre combinare più opzioni tra loro come in questo esempio in cui abbiamo usato anche l’opzione -h per visualizzare lo spazio espresso in M o G.
Alternative al comando df
Oltre al comando df, ci sono anche altri metodi per verificare l’utilizzo del disco su Linux.
Un esempio è duf, si tratta di uno strumento che oltre a mostrarci in formato testuale l’utilizzo del disco, ci permette anche di avere una rappresentazione più grafica e quindi più facile da comprendere con una rapida occhiata.
Tieni presente che questo comando in genere non è già presente nelle distribuzioni, per cui dovrai prima installarlo per poterlo utilizzare.
Su distribuzioni Ubuntu è sufficiente usare il comando:
sudo apt install duf
Una volta installato, ci basta dare il comando seguente per ottenere l’output:
duf
Ecco un esempio di confronto tra i comandi df e duf:
Come si può vedere, il comando duf mostra l’output organizzato in tabelle e suddivide i dispositivi in locali e speciali.
Conclusioni
Il comando df è pratico da usare per avere informazioni sullo spazio occupato e quello ancora libero. Di default, senza usare nessuna opzione, ci dà già delle informazioni importanti.
In questa guida ti ho anche mostrato come avere dei risultati più dettagliati ad esempio restringendo i risultati solo ad alcuni tipi di file system oppure escludendone alcuni. È anche interessante la possibilità di personalizzare l’output per vedere solo le informazioni che ci interessano.
E tu utilizzi spesso questo comando? Lascia un commento se vuoi dire la tua.
Lascia un commento