it-swarm.com.de

Suchen aller großen Dateien im Root-Dateisystem

Ich habe einen Linux-Server, der derzeit weniger Speicherplatz hat:

/dev/sda3              20G   15G  4.2G  78% /
/dev/sda6              68G   42G   23G  65% /u01
/dev/sda2              30G  7.4G   21G  27% /opt
/dev/sda1              99M   19M   76M  20% /boot
tmpfs                  48G  8.2G   39G  18% /dev/shm

Wie du siehst. / Liegt bei 78%. Ich möchte überprüfen, welche Dateien oder Ordner Speicherplatz verbrauchen.

Ich habe es versucht:

find . -type d -size +100M

Welches zeigt Ergebnis wie folgt:

./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar

Das ist mein Problem. Ich möchte nur den Namen der Dateien in Ordnern, die bei / Speicherplatz belegen, und nicht bei /u01 Oder /home. Da / Die Basis von allem ist, zeigt es mir jede Datei meines Servers.

Ist es möglich, große Dateien zu erhalten, die zu 78% von / Beitragen?

136
Abhishek dot py

Versuchen:

find / -xdev -type f -size +100M

Es werden alle Dateien aufgelistet, deren Größe größer als 100 MB ist.

Wenn Sie mehr über das Verzeichnis erfahren möchten, können Sie ncdu ausprobieren.

Wenn Sie nicht mit Linux arbeiten, müssen Sie möglicherweise -size +204800 Oder -size +104857600c Verwenden, da das Suffix M bedeutet, dass Megabyte nicht in POSIX enthalten sind.

find / -xdev -type f -size +102400000c
234
cuonglm

Zusätzlich zur Antwort von @Gnouc können Sie auch ls -la um mehr Details zu erhalten. Du solltest haben Sudo privileges das zu tun .

$ find / -xdev -type f -size +100M -exec ls -la {} \; | sort -nk 5

Gehen Sie folgendermaßen vor, um nur Dateien anzuzeigen, die sich im Gigbyte befinden:

root# du -ahx / | grep -E '\d+G\s+'


1.8G    /.Spotlight-V100/Store-V2/A960D58E-A644-4497-B3C1-866A529BF919
1.8G    /.Spotlight-V100/Store-V2
50
zee

Mit dem folgenden Befehl finden Sie nicht nur die 50 größten Dateien (> 100 MB) in Ihrem Dateisystem, sondern sortieren (GNU sort) auch nach den größten:

find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50

-xdev Verfolgen Sie keine Verzeichnisse auf anderen Dateisystemen.

Verwenden Sie auf BSD find-x, Was der veralteten Primärdatenbank -xdev Entspricht.

Für alle Dateien und Verzeichnisse ist es noch einfacher:

du -ahx / | sort -rh | head -20

(Das Flag -x ist erforderlich, um du auf ein einzelnes Dateisystem zu beschränken.)

Wenn Sie nicht GNU sort (von coreutils) verwenden, verwenden Sie es ohne -h:

du -ax / | sort -rn | head -20

Ersetzen Sie / Nur für das aktuelle Verzeichnis (für schnellere Ergebnisse) durch ..

47
kenorb