Categorie
Linux

du linux – controllare lo spazio su file system

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.

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.