GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Befehle:du und die Optionen, die Sie verwenden sollten

Der du Der Befehl ist ein Standard-Linux/Unix-Befehl, der es einem Benutzer ermöglicht, schnell Informationen zur Festplattennutzung zu erhalten. Es wird am besten auf bestimmte Verzeichnisse angewendet und ermöglicht viele Variationen, um die Ausgabe an Ihre Bedürfnisse anzupassen.

Wie bei den meisten Befehlen kann der Benutzer viele Optionen oder Flags nutzen. Außerdem verwenden die meisten Benutzer, wie viele Linux-Befehle, nur die gleichen zwei oder drei Flags, um ihre spezifischen Anforderungen zu erfüllen. Das Ziel hier ist es, die grundlegenden Flags vorzustellen, die Menschen verwenden, aber auch einige, die weniger gebräuchlich sind, in der Hoffnung, unsere Verwendung von du zu verbessern . Schauen wir uns zuerst den eigenständigen Befehl an und fügen dann verschiedene Optionen hinzu.

[tcarrigan@rhel article_submissions]$ du /home/tcarrigan/article_submissions/
12    /home/tcarrigan/article_submissions/my_articles
36    /home/tcarrigan/article_submissions/community_content
48    /home/tcarrigan/article_submissions/

Sie können sehen, dass der grundlegende Befehl drei Ausgabezeilen enthält. Die Werte ganz links sind die Festplattennutzung, gefolgt von dem spezifischen Verzeichnis, das für diese Nutzung verantwortlich ist. Die untere Reihe ist eine Zusammenfassung der gesamten /home/tcarrigan/article_submissions Verzeichnis. Es gibt keinen Hinweis darauf, welche Maßeinheit mit dem Standardbefehl verwendet wird, was diese Ausgabe weniger als nützlich macht. Hier werden die Optionen notwendig.

[ Möchten Sie mehr über Linux erfahren? Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]

-h , --für Menschen lesbar

Das -h flag druckt Größenausgaben wie die oben genannten in einem für Menschen lesbaren Format. Dieses Format stellt eine Maßeinheit (Bytes) bereit. Wenn wir jetzt den du -h ausführen Befehl auf dasselbe Verzeichnis, sehen wir, dass die Werte 12, 36 und 48 in KB sind.

[tcarrigan@rhel article_submissions]$ du -h /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/

-s, --summarize

Das -s Flag wird zum -h hinzugefügt Flagge gelegentlich. Mit ihren vereinten Kräften werden sie nicht zu einem umweltfreundlichen Halbgott. Stattdessen ermöglichen sie uns, eine Zusammenfassung der Nutzung des Verzeichnisses in einem für Menschen lesbaren Format zu erhalten.

[tcarrigan@rhel article_submissions]$ du -sh /home/tcarrigan/article_submissions/
48K    /home/tcarrigan/article_submissions/

Falls Ihnen diese Ausgabe bekannt vorkommt, liegt das daran, dass sie eine exakte Kopie der letzten Zeile des -h ist Ausgabe.

-a, --all

Diese hilfreiche Option macht genau das, was Sie denken würden. Es listet die Größen aller Dateien und Verzeichnisse im angegebenen Dateipfad auf. Das -a Option wird oft mit dem -h kombiniert Flagge für Benutzerfreundlichkeit. Beachten Sie, dass die einzelnen Dateigrößen mit den Verzeichnissen aufgelistet sind.

[tcarrigan@rhel article_submissions]$ du -ah /home/tcarrigan/article_submissions/
8.0K    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     /home/tcarrigan/article_submissions/my_articles
4.0K    /home/tcarrigan/article_submissions/community_content/article
4.0K    /home/tcarrigan/article_submissions/community_content/article2
4.0K    /home/tcarrigan/article_submissions/community_content/article3
4.0K    /home/tcarrigan/article_submissions/community_content/article4
12K     /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     /home/tcarrigan/article_submissions/community_content
48K     /home/tcarrigan/article_submissions/

--time

Ich liebe diese Flagge besonders. Es zeigt den Zeitpunkt der letzten Änderung an einer beliebigen Datei in dem Verzeichnis oder Unterverzeichnis an, für das Sie es ausführen. Dieses Flag war für mich als Speicheradministrator unglaublich nützlich. Bei mehr als einer Gelegenheit ließ ich einen Kunden versehentlich Dateien in ein Unterverzeichnis schreiben, und dann mussten wir herausfinden, wo der Schreibvorgang stattfand. Ich könnte dieses Flag in Verbindung mit dem -ah verwenden Flags, um das zuletzt geänderte Verzeichnis zu finden.

[tcarrigan@rhel article_submissions]$ du -ah --time /home/tcarrigan/article_submissions/
8.0K    2020-04-07 11:30    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles
4.0K    2020-02-06 16:47    /home/tcarrigan/article_submissions/community_content/article
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article2
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article3
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article4
12K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content
48K     2020-04-07 11:32    /home/tcarrigan/article_submissions/

Hinweis:Dies sortiert nicht nach der letzten Änderung, daher müssen Sie immer noch auf die Zeiten achten. Die letzte Änderung steht nicht immer ganz oben

-c, --total

Diese Option ist eher eine Dummy-Prüfung als nützlich, aber einige Leute mögen es wirklich, eine Gesamtmessausgabe zu haben. Das -c Flag fügt am Ende der Ausgabe eine Zeile hinzu, die Ihnen die Gesamtsumme der Festplattennutzung für den angegebenen Dateipfad anzeigt.

[tcarrigan@rhel article_submissions]$ du -ch /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/
48K    total

Beachten Sie hier das Endergebnis. Es werden dieselben Informationen angezeigt wie in den anderen Beispielen von du aber ohne das 'Gesamt'-Banner, um Sie daran zu erinnern.

-X, --exclude=Muster

Das -X Option ist ein raffinierter kleiner Trick, den Sie anwenden können, wenn Sie wissen, dass Ihre Umgebung eine große Anzahl von Dateien eines bestimmten Typs enthält, die Sie nicht in Ihren Ergebnissen berechnen möchten. Meiner Erfahrung nach hatten bestimmte Kunden große Mengen an Metadatendateien mit derselben Dateierweiterung und wollten diese nicht in ihre Ergebnisse einbeziehen. Ich kann das hier auf meiner virtuellen Maschine nicht demonstrieren; Hier ist jedoch die Syntax und ein Beispiel.

[tcarrigan@rhel]$ du -ah --exclude="*.dll" /home/tcarrigan/article_submissions

Dieser Befehl listet alle Dateien und Informationen zur Verzeichnisnutzung in einem für Menschen lesbaren Format auf, während alle Dateien mit der Erweiterung .dll ausgeschlossen werden . Dies ist eine kleine Nische, hat aber einen Platz in der Welt.

Zusammenfassung und Handbuchseite

Hoffentlich haben Sie jetzt ein besseres Verständnis dafür, wie nützlich der du ist Nützlichkeit sein kann. Es ist leicht, in die Routine zu geraten, immer nur du -h auszuführen und vergessen Sie all die anderen unglaublich mächtigen Flaggen, die Ihnen zur Verfügung stehen. Es gibt viele Flags, die ich in diesem Artikel nicht behandelt habe, aber Sie können alle Informationen auf der Handbuchseite für diesen Befehl finden. Um auf die Manpage zuzugreifen, führen Sie einfach man du aus .

[ Möchten Sie Ihre Fähigkeiten als Systemadministrator testen? Machen Sie noch heute einen Kompetenztest. ]


Linux
  1. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  2. Was bedeuten /usr/sbin, /usr/local/sbin und /usr/local/bin?

  3. Warum andere Dinge als /home auf eine separate Partition legen?

  4. Was ist der Unterschied zwischen /tmp und /run?

  5. Warum haben die Verzeichnisse /home, /usr, /var usw. alle dieselbe Inode-Nummer (2)?

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Wie portabel sind /dev/stdin, /dev/stdout und /dev/stderr?

Der Unterschied zwischen /opt und /usr/local?

Debian – /var, /home auf separate Partition verschieben?

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen