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

So verwenden Sie du Command unter Linux

Das du (Disk Usage) ist der Befehl, der unter Linux verwendet wird, um die Verzeichnisgröße einschließlich ihrer anderen Inhalte sowie die Größe einzelner Dateien zu überprüfen.

Wenn Dateien und Verzeichnisse anfingen, eine große Menge Speicherplatz auf Ihren Festplatten zu verbrauchen, dann ist du der beste Befehl, um festzustellen, welche Verzeichnisse oder Dateien dies verursachen.

In diesem Tutorial lernen wir, wie man den Befehl du unter Linux verwendet, um die Festplattennutzung (Dateien oder Verzeichnisse) zu überprüfen.

Du-Befehl &Syntax

Die folgende Zeile zeigt die Syntax des Befehls du:

du [options] [file or directory name]

Standardmäßig zeigt es ohne Optionen die Festplattennutzung der angegebenen Datei oder des Verzeichnisses und für jedes der Unterverzeichnisse in Byte an. Wenn kein Datei- oder Verzeichnisname angegeben ist, zeigt das Kommando du die Festplattennutzung des aktuellen Arbeitsverzeichnisses an.

# du /boot
2508    /boot/grub2/fonts
3068    /boot/grub2/i386-pc
5592    /boot/grub2
4       /boot/efi/EFI/centos
8       /boot/efi/EFI
12      /boot/efi
16      /boot/loader/entries
20      /boot/loader
152440  /boot

Du kommandierst mit -a Option gibt die Festplattennutzung aller Dateien im Verzeichnis aus.

# du -a /boot
7920    /boot/vmlinuz-4.18.0-147.5.1.el8_1.x86_64
3752    /boot/System.map-4.18.0-147.5.1.el8_1.x86_64
4       /boot/grub2/device.map
4       /boot/grub2/grub.cfg
4       /boot/grub2/grubenv
2504    /boot/grub2/fonts/unicode.pf2
2508    /boot/grub2/fonts
8       /boot/grub2/i386-pc/cs5536.mod
4       /boot/grub2/i386-pc/gcry_rsa.mod
8       /boot/grub2/i386-pc/lsacpi.mod
52      /boot/grub2/i386-pc/gcry_camellia.mod
4       /boot/grub2/i386-pc/cpio_be.mod
......
152440  /boot

Sie können sehen, dass die Gesamtgröße am Ende des Befehls ausgegeben wird, wobei „152440“ die Gesamtgröße (in Bytes) des Verzeichnisses „/boot“ ist.

Gesamtgröße des angegebenen Verzeichnisses erhalten

Um die Gesamtgröße eines bestimmten Verzeichnisses anzuzeigen, müssen Sie die Option -s verwenden, es werden jedoch keine Unterverzeichnisse gemeldet. Das folgende Beispiel zeigt die Gesamtgröße des Verzeichnisses „/boot“.

# du -s /boot
152440  /boot

Sie können die gesamte Festplattennutzung aus mehreren Verzeichnissen wie folgt drucken:

# du -s /boot /var
152440 /boot
332168 /var

Für Menschen lesbares Format

Bisher haben wir gesehen, dass die Festplattengröße in Bytes angezeigt wurde, die kein menschenlesbares Format haben. Um die Ausgabe in Kilobyte (K), Megabyte (M) und Gigabyte (G) auszugeben, müssen wir -h verwenden Option.

# du -h /boot
2.5M    /boot/grub2/fonts
3.0M    /boot/grub2/i386-pc
5.5M    /boot/grub2
4.0K    /boot/efi/EFI/centos
8.0K    /boot/efi/EFI
12K     /boot/efi
16K     /boot/loader/entries
20K     /boot/loader
149M    /boot

Der --si Option ist wie -h Option, aber es verwendet Potenzen von 1000 statt 1024.

# du --si /boot
2.6M    /boot/grub2/fonts
3.2M    /boot/grub2/i386-pc
5.8M    /boot/grub2
4.1k    /boot/efi/EFI/centos
8.2k    /boot/efi/EFI
13k     /boot/efi
17k     /boot/loader/entries
21k     /boot/loader
157M    /boot

Verwenden Sie den folgenden Befehl, um die Gesamtgröße eines bestimmten Verzeichnisses in einem für Menschen lesbaren Format zu erhalten, das sehr häufig als Befehl du verwendet wird:

# du -sh /boot
149M /boot

Gesamtgesamtgröße kombinieren

Dies ist sehr nützlich, wenn Sie die Gesamtgröße mehrerer Verzeichnisse kombinieren möchten. Das folgende Beispiel du command Combine (-c ) die Gesamtfestplattengröße der angegebenen (-s ) '/boot' und '/var' Verzeichnis und drucke in der letzten Zeile in menschenlesbarem Format (-h ):

# du -csh /boot/ /var
149M    /boot/
317M    /var
466M    total

Individuelle Größe aller Dateien und Verzeichnisse anzeigen

Mit Platzhaltern (*) können wir die individuelle Größe jeder Datei und jedes Verzeichnisses drucken und dann die Gesamtgröße kombinieren, um sie in der letzten Zeile zu drucken.

# du -csh /boot/*
184K    /boot/config-4.18.0-147.5.1.el8_1.x86_64
180K    /boot/config-4.18.0-80.7.1.el8_0.x86_64
12K     /boot/efi
0       /boot/grub
5.5M    /boot/grub2
53M     /boot/initramfs-0-rescue-3e729c2d7c094902af0333ce40564ffe.img
23M     /boot/initramfs-4.18.0-147.5.1.el8_1.x86_64.img
23M     /boot/initramfs-4.18.0-80.7.1.el8_0.x86_64.img
16M     /boot/initramfs-4.18.0-80.7.1.el8_0.x86_64kdump.img
20K     /boot/loader
3.7M    /boot/System.map-4.18.0-147.5.1.el8_1.x86_64
3.6M    /boot/System.map-4.18.0-80.7.1.el8_0.x86_64
7.6M    /boot/vmlinuz-0-rescue-3e729c2d7c094902af0333ce40564ffe
7.8M    /boot/vmlinuz-4.18.0-147.5.1.el8_1.x86_64
7.6M    /boot/vmlinuz-4.18.0-80.7.1.el8_0.x86_64
149M    total

Du-Befehl mit Musterabgleich

Mit dem Befehl du können Sie einen Musterabgleich durchführen. Im folgenden Befehl wird gezeigt, wie die Festplattengröße aller Verzeichnisse ermittelt wird, die mit „bo“ beginnen.

# du -sch /bo*
149M    /boot
217M    /bootstrap
366M    total

Den Befehl verwenden, um die scheinbare Größe zu erhalten

Die --apparent-size Option druckt scheinbare Größen (tatsächliche Datenmenge in der Datei) statt Festplattennutzung.

# du --apparent-size /boot
2505    /boot/grub2/fonts
2544    /boot/grub2/i386-pc
5057    /boot/grub2
4       /boot/efi/EFI/centos
8       /boot/efi/EFI
12      /boot/efi
6       /boot/loader/entries
10      /boot/loader
151852  /boot

Überprüfen Sie die Verzeichnisgröße, die feste Links enthält

Mit dem -l oder --count-links Option werden die Größen mehrfach gezählt, wenn sie fest verknüpft sind. Standardmäßig werden die Hardlinks nicht angezeigt.

Zum Beispiel

# ls -li
 total 648
 755150 -rw-r--r-- 1 root root 4719 Apr 19 00:46 file1
 755152 -rw-r--r-- 2 root root 312519 Apr 19 00:47 file2
 755152 -rw-r--r-- 2 root root 312519 Apr 19 00:47 file2.hard
 755153 lrwxrwxrwx 1 root root 19 Apr 19 00:57 file2.soft -> /etc/sysconfig/init

Hier ist file2.hard der Hardlink für file2. Beachten Sie nun die Ausgabe mit -l und ohne.

# du -ah
 4.0K ./file2.soft
 316K ./file2
 12K ./file1
 340K .

# du -ahl
 4.0K ./file2.soft
 316K ./file2
 12K ./file1
 316K ./file2.hard
 656K .

Das Standardverhalten für symbolische Links besteht darin, sie nicht zu dereferenzieren. Zum Dereferenzieren symbolischer Links -L oder --dereference Option verwendet wird

# du -ahL
 8.0K ./file2.soft
 316K ./file2
 12K ./file1
 344K .

(Beachten Sie, dass sich die Größe für file2.soft jetzt geändert hat)

Das -P oder --no-dereference Option dereferenziert diese symbolischen Links nicht (was das Standardverhalten ist, wie oben angegeben).

Festplattennutzung in Unterverzeichnissen der Ebene 'N' anzeigen

Diese Option weist den Befehl an, die Unterverzeichnisse und ihre Größe bis zu unserer gewünschten Tiefe aufzulisten.

Das folgende Beispiel listet beispielsweise nur die Verzeichnisse der ersten Ebene in der aktuellen Verzeichnisstruktur und deren Größe auf. Auch der gesamte Flächenverbrauch wird hier ausgewiesen. Falls wir --max-depth= setzen auf Null, dann listet der Befehl du keine Unterverzeichnisse auf und meldet nur die Größe des ausgewählten Verzeichnisses.

# du --max-depth=1 -h /boot/
7.1M /boot/grub
110M /boot/

Du-Befehl zum Ausschließen von Dateien

Der Befehl du kann bestimmte Verzeichnisse mit --exclude ausschließen Möglichkeit. Im folgenden Beispiel habe ich das Verzeichnis „grub2“ ausgeschlossen:

# du  --exclude=grub2 /boot/
4       /boot/efi/EFI/centos
8       /boot/efi/EFI
12      /boot/efi
16      /boot/loader/entries
20      /boot/loader
146848  /boot/

Unten sehen Sie zwei Beispiele, die Ihnen zeigen, wie Sie '*.obj'- oder '*.jpg'-Dateien ausschließen.

# du -h –exclude=’*.obj’
# du -h –exclude=’*.jpg’

Verwenden Sie den Befehl du, um die Änderungszeit auszudrucken

Die Änderungszeit von Dateien und/oder Verzeichnissen (bzw. von Dateien/Verzeichnissen in den Unterverzeichnissen) kann mit --time angezeigt werden Option.

# du /boot/ --time
4    2017-03-23 15:03    /boot/grub/locale
2348    2017-03-23 15:03    /boot/grub/fonts
2480    2017-03-23 15:03    /boot/grub/i386-pc
7212    2017-04-05 08:31    /boot/grub
112180    2017-04-05 08:31    /boot/

Verwende du mit anderen Befehlen

Der Du-Befehl kann mit anderen Befehlen unter Verwendung von Pipes (|) kombiniert werden. Sehen wir uns einige Beispiele an

Wenn wir die Top 3 Verzeichnisse nach Größe im aktuellen Arbeitsverzeichnis finden wollen:

# du -skh * | sort -nr | head -3
386M    lib
252M    share
154M    lib64

Alle Dateien und Verzeichnisse nach Größe sortiert anzeigen:

# du -sk * | sort -n
12160   libexec
37552   sbin
58900   bin
70048   src
157456  lib64
257492  share
394504  lib

Schlussfolgerung

In diesem Lernprogramm haben wir gelernt, wie Sie den Befehl du unter Linux verwenden, um die Festplattennutzung für Dateien und Verzeichnisse zu schätzen. Ich hoffe, Sie hatten Spaß beim Lesen und hinterlassen Sie bitte Ihre Vorschläge im Kommentarbereich unten.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Linux-Bildschirmbefehl

  4. So verwenden Sie den Befehl ldconfig unter Linux

  5. So verwenden Sie den ipset-Befehl unter Linux

So verwenden Sie den Befehl sysctl unter Linux

So verwenden Sie den Befehl zum Herunterfahren von Linux

So verwenden Sie grep unter Linux

So verwenden Sie den Mkdir-Befehl unter Linux

So verwenden Sie den Jobs-Befehl unter Linux

So verwenden Sie den Bildschirmbefehl unter Linux