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

So finden Sie große Dateien unter Linux mit den Befehlen find und du

Die Linux-Befehle find und du wird zu Ihrer Rettung kommen.

Mit dem du-Befehl

Der du Der Befehl wird verwendet, um die Dateiplatznutzung auf einem Linux-System zu schätzen. Es zeigt die Informationen zur Festplattennutzung.

Verwenden wir du um den Inhalt von /boot zu überprüfen :

# du
0   ./efi/EFI/centos
0   ./efi/EFI
0   ./efi
2400    ./grub2/i386-pc
3176    ./grub2/locale
2504    ./grub2/fonts
8096    ./grub2
4   ./grub
250556  .

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 des gesamten /boot/ Verzeichnis.

Hier ist eine Liste wichtiger du Optionen

  • -h , --human-readable druckt Größenausgaben in einem für Menschen lesbaren Format.
  • -s , --summarize kann mit -h kombiniert werden erhalten Sie eine Zusammenfassung der Nutzung des Verzeichnisses in einem für Menschen lesbaren Format.
  • -a , --all listet die Größen aller Dateien und Verzeichnisse im angegebenen Dateipfad auf. Sie können mit -h kombinieren

In unserem Fall möchten wir nun die Speicherplatznutzung archivieren und zuerst den größten prüfen, wir können sie mit sort sortieren Befehl. Wenn wir unser Ergebnis einschränken wollen, wird der head Befehl wird sich als nützlich erweisen,

Die größten Dateien mit du erhalten :

du -a / | sort -n -r | head -n 20

Der obige Befehl verwendet du Um die Festplattennutzung zu erhalten, wird der Inhalt an sort weitergeleitet, dann gibt head nur die ersten 20 Elemente aus.

Ausgabe:

# du -a / | sort -n -r | head -n 20

du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216    /
38679004    /var
38558036    /var/log
38486524    /var/log/asterisk
18136900    /var/log/asterisk/full.prod-asterisk
15786756    /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300  /home/centos
635300  /home
634528  /home/centos/debug.prod-asterisk
490704  /tmp
480260  /tmp/pip.log
403512  /opt/instana/agent
403512  /opt/instana

Oft erhalten Sie einige Fehler, bevor Sie Ihre Liste mit großen Dateien erhalten. Dies kommt häufig entweder von Dateien, auf die Sie nicht zugreifen dürfen, oder von stderr-Ausgaben. Verwenden Sie 2>/dev/null solche wie in diesem Befehl zu ignorieren:

du -a / 2>/dev/null | sort -n -r | head -n 20

Mit dem Find-Befehl

Sie können den find verwenden Befehl, nur auf Dateien in einer Suche abzuzielen und die Größe jeder einzelnen zu finden, dann verwenden Sie eine Kombination aus sort und head, um den Inhalt herauszufiltern.

Beispiel:

find / -type f -printf '%s %p\n' | sort -nr | head -10

Der obige Befehl sucht nach allen Dateien im System und gibt dann die Größe und den Pfad mit %s and %p aus Richtlinien . Das Ergebnis wird dann zum Sortieren weitergeleitet, um vom größten zum kleinsten zu filtern, dann begrenzt der Kopf auf 10 Ergebnisse. Das -n ist für die numerische Sortierung und das -r an sort übergeben wird das Ergebnis von Vergleichen umkehren.

Ausgabe:

# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive

Schlussfolgerung

Aus der obigen Erklärung haben Sie gelernt, wie Sie die größten und größten Dateien und Verzeichnisse in Linux erhalten. Wir haben auch gelernt, wie man sort verwendet Befehl zum Sortieren der zurückgegebenen Ausgabe und des head Befehl, um das Ergebnis nur auf die von uns angegebene Zahl zu beschränken.

Um mehr über die von uns verwendeten Befehle zu erfahren, zögern Sie nicht, die Manpages zu verwenden. Verwenden Sie diese Befehle:

man du  
man find  
man sort  
man head  
man tail

Linux
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -zeit in Linux

  3. Suchen Sie eine Datei mit den Befehlen Suchen und Suchen in Linux

  4. So finden Sie Dateien mit dem fd-Befehl in Linux

  5. So finden und löschen Sie leere Verzeichnisse und Dateien in Linux

Verwenden von Befehlen zum Suchen und Suchen in Linux:Ein Leitfaden für Anfänger

Finden Sie große Dateien in Linux

So verwenden Sie sed zum Suchen und Ersetzen von Zeichenfolgen in Dateien

So finden und löschen Sie doppelte Dateien in Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

So finden Sie doppelte Dateien in Linux und entfernen sie