Linux-Dienstprogramm zum Auffinden der größten Dateien / Verzeichnisse

155994
Robert Munteanu

Ich suche nach einem Programm, das mir zeigt, welche Dateien / Verzeichnisse den meisten Speicherplatz belegen, etwa:

74% music \- 60% music1 \- 14% music2 12% code 13% other 

Ich weiß, dass dies in KDE3 möglich ist, aber ich würde das lieber nicht tun - KDE4 oder Befehlszeile werden bevorzugt.

130
Für Mac-Benutzer möchte ich diese kostenlose Software namens Disk Inventory X nur empfehlen. Laden Sie sie hier http://www.derlien.com/ herunter. Sie ist einfach für Mac OSX zu verwenden Nimitack vor 6 Jahren 0

17 Antworten auf die Frage

189
Daenyth

Ich benutze immer ncdu. Es ist interaktiv und sehr schnell.

Ja und es ist klein! Luke Stanley vor 12 Jahren 0
Ich liebe ncdu Es ist einer meiner Lieblingsfunde von Google. Rob vor 11 Jahren 5
Beeindruckend. Woher wusste ich nicht, dass das existiert? Vielen Dank! pixel vor 11 Jahren 4
+1000 für "ncdu" --- es ist wie "htop" für Festplattenspeicher. Super nützlich! Noah Sussman vor 10 Jahren 22
Da es anscheinend weder Flags noch eine .config-Option gibt, geben Sie hier bei jeder Ausführung die Schlüsselsequenz ein, wenn Sie Dateien und Ordner mischen und den relativen Prozentwert anzeigen möchten: `[t] [g] [g ] `. rymo vor 10 Jahren 0
Sie könnten es mit "du -h | sort -h" besser lesbar machen. rudimeier vor 10 Jahren 0
Zu Ihrer Information: ncdu steht für NCurse Disk Usage hello_harry vor 6 Jahren 0
130
Sean

So finden Sie die größten 10 Dateien (Linux / Bash):

find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

So finden Sie die größten 10 Verzeichnisse:

find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Der einzige Unterschied ist -type .

Verarbeitet Dateien mit Leerzeichen in den Namen und erzeugt in der Ausgabe lesbare Dateigrößen. Größte Datei zuletzt aufgeführt. Das Argument zum Schluss ist die Anzahl der Ergebnisse, die Sie sehen (hier die 10 größten).

Es gibt zwei Techniken, um Leerzeichen in Dateinamen zu behandeln. Das Element find -print0 | xargs -0verwendet Null-Trennzeichen anstelle von Leerzeichen, und das Zweite xargs -I{}verwendet Zeilenumbrüche anstelle von Leerzeichen, um Eingabeelemente zu beenden.

Beispiel:

$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}  76M ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz 76M ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz 76M ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz 76M ./tmp/projects/onthisday/onthisday.tar.gz 114M ./Dropbox/snapshots/weekly.tgz 114M ./Dropbox/snapshots/daily.tgz 114M ./Dropbox/snapshots/monthly.tgz 117M ./Calibre Library/Robert Martin/cc.mobi 159M ./.local/share/Trash/files/funky chicken.mpg 346M ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi 
37
mas

Für einen schnellen Überblick:

du | sort -n 

listet alle Verzeichnisse mit dem größten Leisten auf.

du --max-depth=1 * | sort -n 

oder wiederum das redundante * vermeiden:

du --max-depth=1 | sort -n 

listet alle Verzeichnisse im aktuellen Verzeichnis mit dem größten Verzeichnis auf.

(Der zu sortierende Parameter -n ist erforderlich, damit das erste Feld als Zahl und nicht als Text sortiert wird. Dies schließt jedoch die Verwendung des Parameters -h zu du aus, da für die Sortierung eine signifikante Zahl benötigt wird.)

Weitere Parameter für du stehen zur Verfügung, wenn Sie symbolischen Links folgen möchten (standardmäßig nicht symbolischen Links) oder nur die Größe des Verzeichnisinhalts mit Ausnahme von Unterverzeichnissen anzeigen möchten. Sie können sogar Datum und Uhrzeit in die Liste aufnehmen, zu der eine Datei im Verzeichnis zuletzt geändert wurde.

Ist das * wirklich nötig? Umfasst es standardmäßig nicht alle Dateien im aktuellen Verzeichnis? Josh Hunt vor 14 Jahren 3
Nein, das * sollte überflüssig sein. Ich bin mir nicht sicher, ob die Verwendung eine gute oder schlechte Gewohnheit ist. Danke, dass Sie darauf hingewiesen haben. Ich habe die Antwort geändert, um sie als optional darzustellen. mas vor 14 Jahren 0
Das ist in Ordnung, aber die Ergebnisse sind nicht sehr freundlich. Normalerweise wende ich mich an: `find {/ path / to / directory} -type f -size + k -exec ls -lh {} \; | awk ' "` deed02392 vor 12 Jahren 0
roman # du --max-depth = 1 | sort -n du: unzulässige Option - - usage: du [-A] [-H | -L | -P] [-a | -s | -d Tiefe] [-c] [-l] [-h | -k | -m | -B Größe [-n] [-x] [-I Maske] [Datei ...] holms vor 12 Jahren 0
`du -h --max-depth = 1 2> / dev / null | sort -nr | grep -v ^ 0` - etwas aufgeräumter Stuart Cardall vor 7 Jahren 0
23
Anton Geraschenko

Für die meisten Dinge bevorzuge ich CLI-Tools, aber für die Verwendung von Laufwerken mag ich filelight sehr . Die Präsentation ist für mich intuitiver als jedes andere Space-Management-Tool, das ich je gesehen habe.

Filelight-Screenshot

Filelight ist mein Werkzeug zum Beschneiden von Weltraumschweinen. Ryan Thompson vor 14 Jahren 1
Sehr gute App. +1 rpax vor 9 Jahren 0
Visuell ist es künstlerisch faszinierend, aber intuitiv? Allein durch das Anschauen habe ich keine Ahnung, was es darstellt. Kann jemand es erklären? Ich ging auf die Website und sah keine Erklärung. G-Man vor 8 Jahren 0
Ein ähnliches Tool für Mac ist DaisyDisk, das unter http://daisydiskapp.com verfügbar ist computingfreak vor 7 Jahren 0
20
Nicolas Raoul

Filelight ist besser für KDE-Benutzer, aber der Vollständigkeit halber (Fragetitel ist allgemein), muss ich erwähnen, dass Baobab in Ubuntu (alias Disk Usage Analyzer) enthalten ist:

enter image description here

Wenn Sie auf der Mac-Plattform eine Entsprechung suchen, überprüfen Sie DaisyDisk. computingfreak vor 7 Jahren 0
8
Jonik

Ein GUI-Tool, KDirStat, zeigt die Daten sowohl in Tabellenform als auch grafisch an. Sie können sehr schnell sehen, wo der meiste Platz genutzt wird.

Ich bin mir nicht sicher, ob dies genau das KDE-Tool ist, das Sie nicht wollten, aber ich denke, es sollte in einer Frage wie dieser erwähnt werden. Es ist gut und viele Leute wissen es wahrscheinlich nicht - ich habe erst kürzlich selbst davon erfahren.

Danke für die Antwort. Es ist dasselbe Werkzeug, das ich in KDE3 hatte, aber ich bin zu KDE 4 gewechselt. Robert Munteanu vor 14 Jahren 0
Bist du sicher, dass du Kdirstat für KDE4 nicht bekommen kannst? Jonik vor 14 Jahren 0
Kdirstat ist sooooo langsam. Verwenden Sie stattdessen "ncdu". Daenyth vor 13 Jahren 4
Ich habe einfach Strg + F gedrückt, um Ncdu zu finden, und habe gesehen, dass ich @Daenyth bereits angehoben habe Rob vor 11 Jahren 0
Auf KDE heißt es einfach ** k4dirstat **. phihag vor 10 Jahren 0
@Daenyth nicht mehr wahr! Dieses Tool wurde als "QDirStat" neu aufgebaut und ist von sofortiger Geschwindigkeit. Keine Ahnung, wie das geht, aber aus den gegebenen Antworten heraus ist es wahrscheinlich die beste Blauhirn vor 7 Jahren 0
5
nik

Eine Kombination ist immer der beste Trick unter Unix.

du -sk $(find . -type d) | sort -n -k 1 

Zeigt die Verzeichnisgrößen in KB an und sortiert am Ende die größte.
Die Baumansicht benötigt jedoch mehr Fu ... ist es wirklich erforderlich?

Beachten Sie, dass dieser Scan über Verzeichnisse hinweg verschachtelt ist. Er wird also erneut Unterverzeichnisse für die höheren Verzeichnisse zählen und das Basisverzeichnis .wird am Ende als Gesamtauslastungssumme angezeigt.

Sie können jedoch eine Tiefensteuerung für die Suche verwenden, um eine bestimmte Tiefe zu suchen.
Nehmen Sie sich beim Scannen mehr Zeit ein, je nachdem, was Sie möchten. Die Tiefensteuerung von findwith -maxdepthund -mindepthkann sich auf eine bestimmte Tiefe des Unterverzeichnisses beschränken.


Hier ist eine verfeinerte Variante für Ihr Argument "zu lang"

find . -type d -exec du -sk {} \; | sort -n -k 1 
Ich habe das ausprobiert und ich habe eine Menge von "du: Aufgabe: Keine solche Datei oder Verzeichnis" erhalten. Josh Hunt vor 14 Jahren 0
Danke für die Antwort. Leider bekomme ich _bash: / usr / bin / du: Argumentliste zu lang_ Robert Munteanu vor 14 Jahren 0
3
Dennis Williamson

Ich mag gt5 . Sie können in der Baumstruktur navigieren und Unterverzeichnisse öffnen, um detailliertere Informationen zu erhalten. Es verwendet einen Webbrowser im Textmodus, z. B. Luchs, um die Ergebnisse anzuzeigen. Installieren Sie Elinks für beste Ergebnisse.

Alt-Text

2
Josh Hunt

Versuchen Sie es zwar, obwohl Sie keine solche verschachtelte Ausgabe erhalten du

du -h /path/to/dir/ 

Das Ausführen in meinem Ordner "Dokumente" spuckt Folgendes aus:

josh-hunts-macbook:Documents joshhunt$ du -h 0B ./Adobe Scripts 0B ./Colloquy Transcripts 23M ./Electronic Arts/The Sims 3/Custom Music 0B ./Electronic Arts/The Sims 3/InstalledWorlds 364K ./Electronic Arts/The Sims 3/Library 77M ./Electronic Arts/The Sims 3/Recorded Videos 101M ./Electronic Arts/The Sims 3/Saves 40M ./Electronic Arts/The Sims 3/Screenshots 1.6M ./Electronic Arts/The Sims 3/Thumbnails 387M ./Electronic Arts/The Sims 3 387M ./Electronic Arts 984K ./English Advanced/Documents 1.8M ./English Advanced 0B ./English Extension/Documents 212K ./English Extension 100K ./English Tutoring 5.6M ./IPT/Multimedia Assessment Task 720K ./IPT/Transaction Processing Systems 8.6M ./IPT 1.5M ./Job 432K ./Legal Studies/Crime 8.0K ./Legal Studies/Documents 144K ./Legal Studies/Family/PDFs 692K ./Legal Studies/Family 1.1M ./Legal Studies 380K ./Maths/Assessment Task 1 388K ./Maths [...] 

Dann können Sie die Ausgabe sortieren, indem Sie sie durchleiten sort

du /path/to/dir | sort -n 
Danke, aber es zeigt nicht richtig an, welche Verzeichnisse am größten sind. Wenn ich es in meinem Home-Verzeichnis starte, ist die Ausgabe unbrauchbar. Robert Munteanu vor 14 Jahren 0
1
Kam

Here is the script which does it for you automatically.

http://www.thegeekscope.com/linux-script-to-find-largest-files/

Following is the sample output of the script:

**# sh get_largest_files.sh / 5** [SIZE (BYTES)] [% OF DISK] [OWNER] [LAST MODIFIED ON] [FILE] 56421808 0% root 2012-08-02 14:58:51 /usr/lib/locale/locale-archive 32464076 0% root 2008-09-18 18:06:28 /usr/lib/libgcj.so.7rh.0.0 29147136 0% root 2012-08-02 15:17:40 /var/lib/rpm/Packages 20278904 0% root 2008-12-09 13:57:01 /usr/lib/xulrunner-1.9/libxul.so 16001944 0% root 2012-08-02 15:02:36 /etc/selinux/targeted/modules/active/base.linked Total disk size: 23792652288 Bytes Total size occupied by these files: 154313868 Bytes [ 0% of Total Disc Space ] *** Note: 0% represents less than 1% *** 

You may find this script very handy and useful !

Während die verlinkte Website Anweisungen enthält, ist es bevorzugt, dass Sie die externe Website (die sowieso wie ein persönlicher Blog aussieht) umschreiben und dann referenzieren. Dies verhindert Linkfäule und hilft mehr Menschen * auf dieser Website * Canadian Luke vor 11 Jahren 2
Link ist defekt? Danijel vor 8 Jahren 1