du è il comando disponibile su sistemi Linux che permette di vedere lo spazio occupato sul file system.
Quando lo spazio disponibile su disco è prossimo allo zero, è utile sapere dove siano contenuti i files che occupano più spazio sul file system.
Per sapere quando lo spazio su disco è prossimo all’esaurimento su una sistema Linux, puoi fare uso del comando df.
Indice
du linux – sintassi
La sintassi generica del comando du è la seguente:
du [OPTION]... [FILE]...
Nel seguito dell’articolo avrai modo di vedere esempi pratici di utilizzo del comando, con relativi output generati dall’esecuzione dello stesso.
Esecuzione senza parametri
Quando du viene eseguito senza fornire parametri aggiuntivi, l’output generato comprenderà lo spazio occupato da tutte le cartelle (senza i files) contenuti nella directory dove viene eseguito il comando.
$ du 4 ./a-directory 20 .
In questo output non è chiaro quale sia l’unità di misura dello spazio indicato. Per questo motivo, è disponibile il parametro -h
, abbreviazione di --human-readable
.
Il parametro -h (–human-readable)
Eseguendo du con il parametro -h
, shorthand di --humam-readable
, si ottiene una lista delle cartelle presenti nel path in cui viene eseguito il comando.
Per ciascuna cartella, viene indicato lo spazio indicato, completo di unità di misura.
$ du -h 16K ./a-directory 96K ./another-directory 112K .
Nell’esempio, la cartella “another-directory” occupa 96 KiloBytes sul file system.
du linux – visualizzare files e cartelle
Il parametro -a
, versione abbreviata di --all
, include anche i files nell’output generato, oltre alle cartelle.
$ du -a 0 ./a-directory/file1.txt 0 ./a-directory/file2.txt 0 ./a-directory/file3.txt 16 ./a-directory/file4.txt 16 ./a-directory 32 ./another-directory/fileAAA.txt 32 ./another-directory/fileBBB.txt 32 ./another-directory/fileCCC.txt 96 ./another-directory 112 .
Solitamente il parametro -a
viene utilizzato in maniera congiunta con il parametro -h
.
$ du -ah 0 ./a-directory/file1.txt 0 ./a-directory/file2.txt 0 ./a-directory/file3.txt 16K ./a-directory/file4.txt 16K ./a-directory 32K ./another-directory/fileAAA.txt 32K ./another-directory/fileBBB.txt 32K ./another-directory/fileCCC.txt 96K ./another-directory 112K .
du linux – visualizzare l’ultima modifica
Il flag --time
permette di visualizzare la data di ultima modifica per ogni voce dell’output.
$ du -ah --time 0 2022-11-12 16:02 ./a-directory/file1.txt 0 2022-11-12 16:02 ./a-directory/file2.txt 0 2022-11-12 16:02 ./a-directory/file3.txt 16K 2022-11-12 16:04 ./a-directory/file4.txt 16K 2022-11-12 16:04 ./a-directory 32K 2022-11-12 16:06 ./another-directory/fileAAA.txt 32K 2022-11-12 16:06 ./another-directory/fileBBB.txt 32K 2022-11-12 16:06 ./another-directory/fileCCC.txt 96K 2022-11-12 16:06 ./another-directory 112K 2022-11-12 16:14
Nell’esempio precedente puoi vedere l’utilizzo del parametro --time
insieme ai parametri -a
e -h
.
Escludere dei files dal conteggio
Il parametro -X
, versione breve di --exclude
, permette di escludere uno o più file dal conteggio riportato dall’output del comando.
$ du -ah --exclude="*.txt" 0 ./a-directory 0 ./another-directory 0 .
Nell’esempio riportato qui sopra, si esegue il comando escludendo tutti i files con estensione .txt
.
du linux – limitare il livello di ricorsione
Dagli esempi precedenti, avrai notato che il comando du
esplora ricorsivamente le cartelle che trova, a partire dal path dove viene eseguito.
Tuttavia, è possibile limitare il livello massimo di ricorsione, utilizzando il parametro -d
, oppure per esteso --max-depth=N
.
$ du -ah --max-depth=1 16K ./a-directory 96K ./another-directory 112K .
Come puoi vedere, nonostante il parametro -a
, i files non sono mostrati (perché sono contenuti all’interno delle cartelle).
du linux – la documentazione completa
Il comando du
fa parte del progetto coreutils
di GNU.
La documentazione completa è disponibile tramite il comando man du
, che equivale al contenuto di questa pagina web.
Approfondimenti Linux
Nel caso volessi approfondire questi temi, in questo sito è disponibile una sezione dedicata a Linux.
Conclusioni
In questo articolo hai appreso come controllare lo spazio occupato sul file system sui sistemi operativi basati su Linux.
Viene spesso utilizzato insieme al comando df dagli amministratori di sistema.