Come utilizzare il comando Du su Linux

6 set 2019 3 min di lettura
Come utilizzare il comando Du su Linux
Indice dei contenuti

Introduzione

Il comando du, abbreviazione di "disk usage", indica la quantità stimata di spazio su disco utilizzata da determinati file o directory. È praticamente utile per trovare file e directory che occupano grandi quantità di spazio su disco.

Come usare il comando du

La sintassi generale per il comando du è la seguente:

du [OPTIONS]... DIR...

Se il parametro DIR è una directory, du riassumerà l'utilizzo del disco di ciascun file e sottodirectory in quella directory. Se DIR non viene specificato, du riporterà l'utilizzo del disco della directory di lavoro corrente .

Se eseguito senza alcuna opzione, du visualizza l'utilizzo del disco del file o della directory e di ciascuna delle sue sottodirectory in byte.

du ~/Documents

Puoi anche passare più file e directory al comando du come argomenti:

du ~/Documents ~/Video ~/.zshrc

Se esegui du su un file o una directory per cui non hai i permessi, otterrai qualcosa come "du: cannot read directory". In questa situazione, dovrai anteporre il comando con sudo.

du ha molte opzioni, delineeremo solo quelle usate più frequentemente.

L'opzione -a indica di segnalare l'utilizzo dello spazio su disco di ciascun file all'interno della directory.

du -a ~/Documents

Di solito, si desidera visualizzare solo lo spazio occupato dalla directory specificata in un formato leggibile dall'uomo. Per farlo, usa l'opzione -h.

Ad esempio, per ottenere la dimensione totale di tutte le sottodirectory di /var/lib, eseguire il comando seguente:

sudo du -h /var

Stiamo utilizzando sudo  perché la maggior parte dei file e delle directory all'interno della directory /var/lib sono di proprietà dell'utente root e non sono leggibili dagli utenti normali. L'output sarà simile al seguente:

...
32K     /var/lib/polkit-1
604M    /var/lib
1.4G    /var

Per segnalare solo la dimensione totale della directory specificata e non per le sottodirectory utilizzare l'opzione -s:

sudo du -sh /var
1.4G    /var

L'opzione -c permette di calcolare un totale generale. Ciò è utile quando si desidera ottenere la dimensione combinata di due o più directory.

sudo du -csh /var/log /var/lib
670M    /var/log
604M    /var/lib
1.3G    total

Se si desidera visualizzare l'utilizzo del disco delle sottodirectory di livello n, utilizzare l'opzione --max-depth e specificare il livello di sottodirectory. Ad esempio, per ottenere un rapporto sulle directory di primo livello dovresti usare:

sudo du -h --max-depth=1 /var/lib
...
23M     /var/lib/dpkg
4.0K    /var/lib/misc
4.0K    /var/lib/mysql-keyring
8.0K    /var/lib/ureadahead
12K     /var/lib/private
32K     /var/lib/polkit-1
604M    /var/lib

Il comportamento predefinito dell'utility du è di riutilizzare lo spazio su disco utilizzato dalla directory o dal file. Per trovare la dimensione apparente di un file, utilizzare l'opzione --apparent-size La "apparent size" di un file è quanti dati sono effettivamente nel file.

sudo du -sh --apparent-size /var/lib
593M    /var/lib

du ti permette anche di usare il pattern shell. Ad esempio, per ottenere la dimensione di tutte le directory che iniziano con "li", dovresti eseguire:

sudo du -csh /li*
479M    /lib
4.0K    /lib64
479M    total

Ulteriori comando con du

Il comando du può essere combinato con altri comandi con pipe.

Ad esempio, per stampare le 5 directory più grandi all'interno della directory /var, si utilizza il comando sort insieme al comando du per ordinare le directory in base alle loro dimensioni e quindi reindirizzare l'output al comando head che stamperà solo le 5 directory principali:

sudo du -h /var/ | sort -rh | head -5
1.4G    /var/
670M    /var/log
604M    /var/lib
561M    /var/log/journal
553M    /var/log/journal/3e8adc78daa34283b1c71dea860d53b4

Conclusione

Ormai dovresti avere una buona conoscenza di come usare il comando du. A differenza del comando df , il comando du fornisce una stima dello spazio su disco utilizzato da determinati file o directory.

Puoi visualizzare tutte le opzioni del comando du digitando man du dal terminale.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.