Ich benutze immer ncdu
. Es ist interaktiv und sehr schnell.
Linux-Dienstprogramm zum Auffinden der größten Dateien / Verzeichnisse
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.
17 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
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 -0
verwendet 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
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.
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 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:
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.
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 find
with -maxdepth
und -mindepth
kann 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
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
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 !
Verwandte Probleme
-
12
Warum wird der Ordner / winsxs so groß und kann er verkleinert werden?
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem