mit shell nur die größten Dateien ermitteln
jobo
- sonstiges
Hallo,
mit du bekomme ich ja rekursiv alle Dateien und Unterverzeichnise in ihrer Größe angezeigt. Ich würde gerne mal Filtern. Nur die über x-MB groß. Pipen nach grep "M" ist etwas unscharf. Sortiert wäre natürlich grandios. Aber pipen nach sort bringt eben alle 1-er zuerst. Wo recherchiere ich am Besten?
Gruß
jobo
Moin!
Hm. Die fünf größten Dateien im System:
cd /
sudo du -xm | sort -n | tail -n5
Willst jetzt wirklich die oberhalb einer bestimmten Größe, dann empfehle ich Dir zur Recherche ein man awk oder info awk an der shell.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Tach auch.
Willst jetzt wirklich die oberhalb einer bestimmten Größe, dann empfehle ich Dir zur Recherche ein man awk oder info awk an der shell.
Oder einfach ein
find . -size +1M
Bis die Tage,
Matti
Hallo fastix,
Hm. Die fünf größten Dateien im System:
cd /
sudo du -xm | sort -n | tail -n5
Nein, das ist nicht gewährleistet.
Es werden die fünf *Verzeichnisse* angezeigt, die im aktuellen Dateisystem den größten Platz einnehmen. Kopiere eine riesige Datei ins Wurzelverzeichnis (ich weiß, das macht man nicht), die größer ist als das "fünftgrößte" Verzeichnis - und diese Datei wird nicht angezeigt.
Es ist logisch, dass das Wurzelverzeichnis am größten ist, der nächste Eintrag bei Deiner Anweisung muss ein Verzeichnis der ersten Ebene sein.
Warum also -x?
Warum -m?
Warum nicht -a?
Wäre nicht eher -S sinnvoll?
siehe man du
Der Hinweis, dass sort -n numerisch sortiert, wäre hilfreich gewesen. sort -g wäre auch eine Möglichkeit, siehe man sort - das hätte Robert noch wissen können.
Geht es um Nicht-Verzeichnis-Dateien, ist Mattis Ansatz günstiger, geht es um "Speicherplatzfresser" mit vielen kleineren Dateien wie Cache-Verzeichnisse, so empfiehlt sich du.
Dazu müsste Robert genauer spezifizieren, was er haben möchte.
Freundliche Grüße
Vinzenz
Moin!
Hallo fastix,
Hm. Die fünf größten Dateien im System:
cd /
sudo du -xm | sort -n | tail -n5Nein, das ist nicht gewährleistet.
Du hast recht. Ich hatte mir das mal als hilfreich notiert nachdem ich ein Problem mit mit einem überlaufenden Logfile (~ 30 Gb) bei meiner SuSE hatte. Es war übrigens ein durchgedrehter UpdateDämon. Mein Problem löste es, die gestellte Aufgabe wird dadurch gar nicht gelöst. Insofern ist Dein "nicht gewährleistet" ein übermäßig höflicher Euphemismus.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Hallo Vinzenz,
merci. Bin aktuell nur sporadisch am Rechner.
Dazu müsste Robert genauer spezifizieren, was er haben möchte.
Naja, eben auf einen Blick sortiert die größten Dateien oder Verzeichnisse. Unter Windows nutze ich "Treesize", wenn der Speicherplatz nicht mehr ausreicht. Und gehe dann Top down die Verzeichnisse und Dateien durch, mit dem Größten angefangen.
Dank und Gruß
Robert aka jobo
Moin!
Hallo Vinzenz,
merci. Bin aktuell nur sporadisch am Rechner.
Dazu müsste Robert genauer spezifizieren, was er haben möchte.
Naja, eben auf einen Blick sortiert die größten Dateien oder Verzeichnisse. Unter Windows nutze ich "Treesize", wenn der Speicherplatz nicht mehr ausreicht. Und gehe dann Top down die Verzeichnisse und Dateien durch, mit dem Größten angefangen.
Für Dateien:
sudo find -size +1G -exec ls -l {} ; 2> /dev/null | sort -nrt " " -k5 | head -n5
findet alle Dateien mit mehr als einem Gigabyte Größe, macht mit den Funden ein ls -l (Fehler werden zum Mülleimer /dev/null umgeleitet). Die Funde werden absteigend, numerisch nach der 5. Spalte sortiert, wobei als Trenner das Leereichen angenommen wird. Es werden nur die ersten 5 Zeilen ausgegeben.
Die Lösung für die Verzeichnisse hats Du schon:
sudo du -xm | sort -n | tail -n5
wobei Du bitte daran denkst, dass mit der Option "x" nur das aktuelle Datesystem (keine mounts!) ausgewertet wird.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix