Verwendung von du, um Dateien anzuzeigen, die größer als ein Schwellenwert sind

9

Ich habe einige Situationen, in denen ich auf du man-Seiten nichts sehe.

1) Ich möchte Dateien in einem Unterverzeichnis sehen, die größer als eine bestimmte Größe sind. 2) Ich benutze du -sh> du_output.txt. Ich sehe die Ausgabe wie für Option -s beschrieben und -h. Was mich jedoch mehr interessiert, ist, wenn die Ausgabe in einem Format vorliegt, das beispielsweise angegeben ist

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

Wenn es sich bei dem obigen Verzeichnis um ein Verzeichnislayout handelt und ich nur die Größe der einzelnen Verzeichnisse in allen Unterverzeichnissen anzeigen möchte, was kann ich dann tun (die Tiefe jedes Unterverzeichnisses ist variabel)?

Bindung
quelle

Antworten:

5

Ich mag das Dienstprogramm gt5 . Es verwendet die Ausgabe von duund erstellt eine durchsuchbare Liste von Verzeichnissen und deren Größen und verwendet einen Textmodus-Browser wie Links , um die Informationen anzuzeigen.

Beide Programme sind in den Ubuntu-Repositories verfügbar: gt5 und links .

GT5-Screenshot

Bis auf weiteres angehalten.
quelle
Danke, GT5 sieht sehr interessant aus. Ich werde es jetzt installieren. Natürlich gibt es auch "Baobab" für die GUI.
SabreWolfy
21

So zeigen Sie nur Ordner mit einer Größe von mehr als 1 GB an:

du -h --threshold=1G

Sie können auch nach Größe bestellen, um die größten leicht zu finden.
du -h --threshold=1G | sort -h

(Funktioniert unter: Ubuntu / Mint.
Funktioniert nicht unter: OSX oder RHEL 6.2)

Mtl Dev
quelle
2
Schade, --thresholdfunktioniert nicht unter OS X.
Franklin Yu
Auch nicht an RHEL 6.2 arbeiten
Matthew Moisen
Auch unter Ubuntu heißt es, sort -hnhn seien inkompatibel.
Scott Stafford
1
@ ScottStafford Danke dafür, Tippfehler, behoben. Hätte nur lesen sollensort -h
Mtl Dev
Wie zeige ich Dateien über 500 KB? (anstelle von Ordnern)
Alexander Mills
12

Verwenden Sie stattdessen den Befehl find. Das folgende Beispiel zeigt Ihnen alle Dateien, die größer als 10 Megabyte sind:

find -size +10M

Sie können du mit find wie folgt verwenden, um die Größe jeder Datei zu sehen:

find -size +10M -exec du -sh {} \;
Carson
quelle
0

find /path/to/folder -size +100k

Es ist nicht klar, ob Sie die Größe einzelner Dateien sehen möchten, die größer als ein Wert sind, oder ob Sie Ordner sehen möchten, die größer als ein Wert sind.

SabreWolfy
quelle
Grundsätzlich muss ich einen Bericht erstellen und ihn auf zwei Arten darstellen, auf die Sie beide hingewiesen haben.
Bond
Ich denke, dass das oben erwähnte gt5 genau das ist, wonach Sie suchen.
SabreWolfy
0

Ich sehe die Antwort von Mtl Dev für diese Frage passend. Da hat Bond diesen Thread mit den Tags 'linux' und 'ubuntu-10.04' geöffnet.
Auch hier funktioniert du -h --threshold=1G(gefolgt von | sort -hoptional) perfekt in Ubuntu.

Obwohl Bond das sagte,

Ich sehe nichts auf du man Seiten.

Es gibt zwei Zeilen in der Manpage, siehe unten.

-t, --threshold = SIZE
schließt Einträge aus, die kleiner als SIZE sind, wenn sie positiv sind, oder Einträge, die größer als SIZE sind, wenn sie negativ sind

Eine weitere Sache, ich denke, die genaue Befehlszeile, die Bond möchte, ist ungefähr so:

find . -mindepth 2 -type d | xargs du -sh -t 1G

Wenn -mindepth 1behauptet wird, dass es den aktuellen Pfad enthalten soll, -mindepth 2wird auf Ihre Nachfrage arbeiten.

Unten finden Sie eine Demonstration des beliebten Datensatzes Lisa .

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training
David Jung
quelle