Du steht für Disk Usage.
Der Linux-du-Befehl wird verwendet, um die Festplattennutzung in Bezug auf die Dateigröße zusammenzufassen. Es kann mit Ordnern verwendet werden, um die gesamte Festplattennutzung zu ermitteln. Dieser Artikel enthält einige Beispiele zur effektiven Verwendung des Befehls du.
Alle hier gezeigten du-Beispiele werden in einem Verzeichnis ausgeführt, das die folgenden Inhalte enthält:
$ ls linuxKernel redhat testfile.txt ubuntu
1. Ein einfaches Beispiel
$ du -a 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 .
Ich habe im obigen Beispiel das Flag -a verwendet, um die Festplattennutzung aller Dateien und Verzeichnisse anzuzeigen. Wenn -a nicht verwendet wird, werden nur Verzeichnisse aufgelistet, die eine Festplatte belegen. Zum Beispiel:
$ du 4 ./redhat 4 ./ubuntu 16 .
So, jetzt bekommen wir eine grundlegende Vorstellung davon, wie man den Befehl du verwendet, aber wie bei mir würde es jemandem schwer fallen, zu verstehen, was diese Zahlen in der Ausgabe bedeuten??
Fahren wir mit den nächsten Beispielen fort, und die Wolken werden klarer aus.
2. Ausgabe in menschenlesbarer Form mit -h
anzeigen$ du -ah 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K .
Wir sehen also, dass ich im obigen Beispiel das Flag -h zusammen mit dem Flag -a verwendet habe. Das Flag -h wird verwendet, um die Ausgabe im menschenlesbaren Format zu erhalten. Wie Sie sehen können, ist die obige Ausgabe leichter zu verstehen, da die Festplattennutzung in Form von „K“ aufgeführt ist.
3. Zeigt die Gesamtsumme in der Ausgabe mit -c
anDas Beispiel, das ich verwende, hat eine kleine Verzeichnisstruktur. Man könnte die gesamte Festplattennutzung des Verzeichnisses leicht berechnen, indem man manuell berechnet. Aber in einem Echtzeitszenario ist eine manuelle Berechnung nicht praktikabel. Es gibt also ein Flag, durch das man die Gesamtnutzung in der Ausgabe erhalten kann.
$ du -ahc 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K . 16K total
Wir sehen also, dass man durch das Flag -c die Gesamtnutzung in der Ausgabe erhalten kann.
4. Mit -s
nur die Gesamtzahl anzeigenWenn Sie nur die Gesamtgröße in Form einer Zusammenfassung abrufen möchten, verwenden Sie das Flag -s.
$ du -sh 7.3G .
Wir sehen also, dass in der obigen Ausgabe nur die Gesamtgröße angezeigt wurde.
5. Geben Sie Eingabedateien von stdin mit ‘–files0-from=-‘
einWenn Sie unterwegs eine „du“-Eingabe machen möchten, ist dies über das „–files0-from“-Flag möglich.
$ du -ah --files0-from=- copy12K copy file12K file helloWorld12K helloWorld ^C $
Beachten Sie, dass wir den Wert „-“ an das Flag „–files0-from“ übergeben haben, um anzugeben, dass „du“ damit beginnt, die Dateinamen von stdin zu akzeptieren. Nachdem Sie jeden Dateinamen eingegeben haben, drücken Sie zweimal Strg+D, um die Ausgabe für diese Datei zu erzeugen.
6. Beenden Sie die Ausgabe mit Null-Byte mit -0
Wenn Sie möchten, dass jede Ausgabe ohne Zeilenumbruch, aber stattdessen mit einem Null-Byte endet, verwenden Sie das Flag -0.
$ du -am -0 0 ./redhat/rh71 ./redhat1 ./testfile.txt0 ./linuxKernel0 ./ubuntu/ub101 ./ubuntu1
Wir sehen also, dass die obige Ausgabe in einer einzelnen Zeile erzeugt wurde, da jede Ausgabe mit einem 0-Byte abgeschlossen wurde.
7. Passen Sie die Blockgröße in der Ausgabe über –block-size
anApropos Blockgröße:Manchmal ist es erforderlich, dass die Ausgabe auf andere Weise erfolgt. Zum Beispiel:
$ du -ac 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . 16 total
Die obige Ausgabe wird als Anzahl von 1024-Byte-Blöcken dargestellt. Nehmen wir nun an, wenn die Ausgabe eine Blockzahl von 2048 Bytes haben soll, dann kann in diesem Fall das Flag „–block-size“ verwendet werden.
$ du -ahc --block-size=2048 0 ./redhat/rh7 2 ./redhat 2 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 2 ./ubuntu 8 . 8 total
Wir sehen also, dass die obige Ausgabe die Form einer Anzahl von 2048-Byte-Blöcken hat.
8. Ausgabe in Byte mit -b
anzeigenUm die Ausgabe in Bytes zu erhalten, kann das Flag -b verwendet werden.
$ du -achb 0 ./redhat/rh7 4096 ./redhat 3 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4096 ./ubuntu 12291 . 12291 total
Wir sehen also, dass die obige Ausgabe in Bytes angegeben ist.
9. Schließen Sie bestimmte Dateitypen mit –exclude
ausAngenommen, wir möchten keine Statistiken von .txt-Dateien haben. Für diese Art von Anforderungen gibt es also ein „–exclude“-Flag.
$ du -cbha --exclude="*.txt" 0 ./redhat/rh7 4.0K ./redhat 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 12K . 12K total
Wir sehen also, dass in der obigen Ausgabe der Textdateieintrag nicht vorhanden war.
10. Zeigen Sie die Änderungszeit an und passen Sie den Anzeigestil an
Dies kann durch –time und –time-style Flags erreicht werden.
$ 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
Für –time-style können Sie auch full-iso, long-iso, iso.
verwenden