Il du
comando, abbreviazione di "utilizzo del disco", riporta la quantità stimata di spazio su disco utilizzato da determinati file o directory. È praticamente utile per trovare file e directory che occupano grandi quantità di spazio su disco.
Come utilizzare il du
comando #
La sintassi generale per du
il comando è il seguente:
du [OPTIONS]... FILE...
Se il dato FILE
è una directory, du
riepilogherà l'utilizzo del disco di ogni file e sottodirectory in quella directory. Se nessun FILE
è 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 specificata e di ciascuna delle sue sottodirectory in byte.
du ~/Documents
Puoi anche passare più file e directory a du
comando come argomenti:
du ~/Documents ~/Pictures ~/.zshrc
Se esegui du
su un file o una directory per cui non hai i permessi, otterrai qualcosa come "du:impossibile leggere la directory". In questa situazione, dovrai anteporre il comando con sudo
.
du
ha molte opzioni, illustreremo solo quelle utilizzate più di frequente.
Il -a
l'opzione dice a du
per segnalare l'utilizzo dello spazio su disco di ciascun file all'interno della directory.
du -a ~/Documents
Di solito, vorresti visualizzare solo lo spazio occupato dalla directory data in un formato leggibile dall'uomo. Per farlo, usa -h
opzione.
Ad esempio, per ottenere la dimensione totale del /var/lib
e tutte le sue sottodirectory, eseguiresti il seguente comando:
sudo du -h /var
Stiamo usando sudo
perché la maggior parte dei file e delle directory all'interno di /var/lib
directory sono di proprietà dell'utente root e non sono leggibili dagli utenti regolari. L'output sarà simile a questo:
...
4.0K /var/lib/apt/mirrors/partial
8.0K /var/lib/apt/mirrors
205M /var/lib/apt
2.9G /var/lib/
Per riportare solo la dimensione totale della directory specificata e non per le sottodirectory utilizzare -s
opzione:
sudo du -sh /var
2.9G /var
Il -c
l'opzione dice a du
per riportare un totale complessivo. Questo è utile quando vuoi ottenere la dimensione combinata di due o più directory.
sudo du -csh /var/log /var/lib
1.2G /var/log
2.9G /var/lib
4.1G total
Se vuoi visualizzare l'utilizzo del disco delle sottodirectory di livello n, usa il --max-depth
opzione e specificare il livello delle sottodirectory. Ad esempio, per ottenere un rapporto sulle directory di primo livello dovresti utilizzare:
sudo du -h --max-depth=1 /var/lib
...
544K /var/lib/usbutils
4.0K /var/lib/acpi-support
205M /var/lib/apt
2.9G /var/lib
Il comportamento predefinito del du
l'utilità consiste nel riutilizzare lo spazio su disco utilizzato dalla directory o dal file. Per trovare la dimensione apparente di un file, usa il --apparent-size
interruttore. La "dimensione apparente" di un file è la quantità di dati effettivamente contenuta nel file.
sudo du -sh --apparent-size /var/lib
2.9G /var/lib
du
ti consente anche di utilizzare il modello di shell. Ad esempio, per ottenere la dimensione di tutte le directory che iniziano con "Do" nella tua home directory dovresti eseguire:
sudo du -csh ~/Do*
102M /home/linuxize/Documents
358M /home/linuxize/Downloads
460M total
Utilizzo di du
con altri comandi #
Il du
comando può essere combinato con altri comandi con pipe.
Ad esempio, per stampare le 5 directory più grandi all'interno di /var
directory devi passare l'output di du
al sort
comando per ordinare le directory in base alla loro dimensione e quindi reindirizzare l'output al head
comando che stamperà solo le prime 5 directory:
sudo du -h /var/ | sort -rh | head -5
4.6G /var/
2.9G /var/lib
2.6G /var/lib/snapd
1.7G /var/lib/snapd/snaps
1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09
Conclusione #
A questo punto dovresti avere una buona comprensione di come usare il du
comando.
a differenza di df
che stampa informazioni sull'utilizzo del disco dei file system montati, il du
Il comando fornisce una stima dello spazio su disco utilizzato da determinati file o directory.
Puoi visualizzare tutti i du
disponibili opzioni di comando digitando man du
nel tuo terminale.
Se hai domande o feedback, lascia un commento qui sotto.