Du sta per Utilizzo del disco.
Il comando Linux du viene utilizzato per riassumere l'utilizzo del disco in termini di dimensione del file. Può essere utilizzato con le cartelle per ottenere l'utilizzo totale del disco. Questo articolo fornisce alcuni esempi su come utilizzare du command in modo efficace.
Tutti gli esempi du mostrati qui vengono eseguiti su una directory contenente i seguenti contenuti:
$ ls linuxKernel redhat testfile.txt ubuntu
1. Un esempio di base
$ du -a 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 .
Ho usato il flag -a nell'esempio sopra per mostrare l'utilizzo del disco di tutti i file e le directory. È perché se -a non viene utilizzato, vengono elencate solo le directory che occupano un disco. Ad esempio :
$ du 4 ./redhat 4 ./ubuntu 16 .
Quindi, ora abbiamo un'idea di base su come usare du command ma, come con me, qualcuno avrebbe difficoltà a capire cosa significano quei numeri nell'output??
Passiamo agli esempi successivi e le nuvole si schiariranno spento.
2. Visualizza l'output in forma leggibile dall'uomo usando -h
$ du -ah 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K .
Quindi vediamo che nell'esempio sopra, ho usato il flag -h insieme al flag -a. Il flag -h viene utilizzato per ottenere l'output nel formato leggibile dall'uomo. Come puoi vedere, l'output sopra è più facile da capire poiché l'utilizzo del disco è elencato in termini di "K".
3. Visualizza il totale complessivo nell'output usando -c
L'esempio che sto usando ha una piccola struttura di directory. Si potrebbe facilmente calcolare l'utilizzo totale del disco della directory calcolando manualmente. Ma il calcolo manuale dello scenario in tempo reale non è pratico. Quindi, esiste un flag attraverso il quale è possibile ottenere l'utilizzo totale nell'output.
$ du -ahc 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K . 16K total
Quindi vediamo che attraverso il flag -c, si può ottenere l'utilizzo totale nell'output.
4. Visualizza solo il conteggio totale usando -s
Se desideri recuperare solo la dimensione totale sotto forma di riepilogo, utilizza il flag -s.
$ du -sh 7.3G .
Quindi vediamo che nell'output sopra è stata visualizzata solo la dimensione totale.
5. Alimenta i file di input da stdin usando '–files0-from=-'
Se si verifica una situazione in cui si desidera fornire l'input "du" in movimento, ciò è possibile tramite il flag "–files0-from".
$ du -ah --files0-from=- copy12K copy file12K file helloWorld12K helloWorld ^C $
Nota che abbiamo passato il valore come '-' al flag '–files0-from' per indicare 'du' per iniziare ad accettare i nomi di file da stdin. Dopo aver inserito ogni nome di file, premere ctrl+D due volte per produrre l'output per quel file.
6. Termina l'output con un byte nullo usando -0
Se desideri produrre ogni output che termina senza una nuova riga ma con un byte nullo, usa invece il flag -0.
$ du -am -0 0 ./redhat/rh71 ./redhat1 ./testfile.txt0 ./linuxKernel0 ./ubuntu/ub101 ./ubuntu1
Quindi vediamo che l'output sopra è stato prodotto in una singola riga poiché ogni output è stato terminato con uno 0 byte.
7. Personalizza la dimensione del blocco nell'output tramite –block-size
Parlando di dimensione del blocco, a volte è necessario avere un output in modo diverso. Ad esempio :
$ du -ac 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . 16 total
L'output di cui sopra è rappresentato in termini di numero di blocchi da 1024 byte. Supponiamo ora che se richiediamo che l'output sia in un numero di 2048 byte di blocco, in questo caso è possibile utilizzare il flag '–block-size'.
$ du -ahc --block-size=2048 0 ./redhat/rh7 2 ./redhat 2 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 2 ./ubuntu 8 . 8 total
Quindi vediamo che l'output sopra è sotto forma di numero di blocchi da 2048 byte.
8. Visualizza l'output in byte usando -b
Per ottenere l'output in termini di byte, è possibile utilizzare il flag -b.
$ du -achb 0 ./redhat/rh7 4096 ./redhat 3 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4096 ./ubuntu 12291 . 12291 total
Quindi vediamo che l'output sopra è in termini di byte.
9. Escludi particolari tipi di file usando –exclude
Supponiamo di non voler avere le statistiche dei file .txt. Quindi per questi tipi di requisiti c'è un flag "–exclude".
$ du -cbha --exclude="*.txt" 0 ./redhat/rh7 4.0K ./redhat 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 12K . 12K total
Quindi vediamo che nell'output sopra, la voce del file di testo non era presente.
10. Visualizza l'ora di modifica e personalizza lo stile di visualizzazione
Ciò può essere ottenuto tramite flag di –time e –time-style.
$ du -cbha --time 0 2012-05-22 21:52 ./redhat/rh7 4.0K 2012-05-22 21:52 ./redhat 3 2012-06-18 19:23 ./testfile.txt 0 2012-05-22 21:52 ./linuxKernel 0 2012-05-22 21:52 ./ubuntu/ub10 4.0K 2012-05-22 21:52 ./ubuntu 13K 2012-06-18 19:23 . 13K 2012-06-18 19:23 total
$ du -cbha --time --time-style=iso 0 2012-05-22 ./redhat/rh7 4.0K 2012-05-22 ./redhat 3 2012-06-18 ./testfile.txt 0 2012-05-22 ./linuxKernel 0 2012-05-22 ./ubuntu/ub10 4.0K 2012-05-22 ./ubuntu 13K 2012-06-18 . 13K 2012-06-18 total
Per –time-style, puoi anche usare full-iso, long-iso, iso.