Auf der Suche nach Speicherplatz unter Linux?


532

Bei der Verwaltung von Linux-Systemen fällt es mir oft schwer, den Schuldigen aufzuspüren, nachdem eine Partition voll ist. Ich verwende normalerweise, du / | sort -nraber auf einem großen Dateisystem dauert es lange, bis Ergebnisse zurückgegeben werden.

Auch dies ist normalerweise erfolgreich bei der Hervorhebung des schlimmsten Täters, aber ich habe oft auf das zurückgegriffen, duohne dass dies sort in subtileren Fällen der Fall war, und musste dann die Ausgabe durchforsten.

Ich würde eine Befehlszeilenlösung bevorzugen, die sich auf Standard-Linux-Befehle stützt, da ich einige Systeme verwalten muss und die Installation neuer Software mühsam ist (insbesondere, wenn nicht genügend Speicherplatz vorhanden ist!).


1
@Bart, vielen Dank, dass Sie sich die Zeit genommen haben, um die Beiträge hier zu verbessern. Darf ich Sie jedoch bitten, beim Hinzufügen von Tags etwas mehr Sorgfalt walten zu lassen? Tags sind nicht für die Sichtbarkeit, sie beschreiben die Frage. Das Festplattentag ist hier nicht geeignet (siehe Beschreibung des Tags), und mindestens zwei der Tags, die Sie in dieser vorgeschlagenen Bearbeitung hinzugefügt haben , waren dort nicht geeignet (Kali ist nicht Debian, und es sind keine PPAs beteiligt).
Stephen Kitt

Antworten:


614

Versuchen Sie es ncdumit einem hervorragenden Befehlszeilen-Datenträgernutzungsanalysator:

Bildbeschreibung hier eingeben


6
Normalerweise hasse ich es, gebeten zu werden, etwas zu installieren, um ein einfaches Problem zu lösen, aber das ist einfach großartig.
GWG

14
sudo apt install ncduauf Ubuntu bekommt es leicht. Es ist großartig
Orion Edwards

10
Sie wissen wahrscheinlich, in welchem ​​Dateisystem nicht genügend Speicherplatz vorhanden ist. In diesem Fall können Sie ncdu -xnur Dateien und Verzeichnisse auf demselben Dateisystem wie das gescannte Verzeichnis zählen.
Luke Cousins

7
beste Antwort. außerdem: sudo ncdu -rx /sollte NUR auf Root-Laufwerken mit den größten Verzeichnissen / Dateien einen sauberen Lesevorgang durchführen. ( -r= schreibgeschützt, -x = auf demselben Dateisystem bleiben (dh keine anderen Dateisystem-Mounts durchlaufen))
bshea

5
Ich habe so wenig Platz, dass ich ncdu nicht installieren kann
Chris

338

Gehen Sie nicht direkt zu du /. Verwenden Sie dfdie Partition zu finden , die Sie weh, und dann versuchen , duBefehle.

Eine, die ich gerne probiere, ist

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

weil es Größen in "lesbarer Form" druckt. Wenn Sie keine wirklich kleinen Partitionen haben, ist das Greifen nach Verzeichnissen in Gigabyte ein ziemlich guter Filter für das, was Sie wollen. Dies wird einige Zeit in Anspruch nehmen, aber wenn Sie keine Quoten festgelegt haben, ist es meiner Meinung nach genau so.

Wie @jchavannes in den Kommentaren ausführt, kann der Ausdruck präziser werden, wenn Sie zu viele falsche Positive finden. Ich habe den Vorschlag übernommen, der es besser macht, aber es gibt immer noch falsche Positive, so dass es nur Kompromisse gibt (einfacher Ausdruck, schlechtere Ergebnisse; komplexer und länger Ausdruck, bessere Ergebnisse). Wenn in Ihrer Ausgabe zu viele kleine Verzeichnisse angezeigt werden, passen Sie Ihren regulären Ausdruck entsprechend an. Zum Beispiel,

grep '^\s*[0-9\.]\+G'

ist noch genauer (es werden keine <1GB Verzeichnisse aufgelistet).

Wenn Sie tun Quoten haben, können Sie

quota -v

um Benutzer zu finden, die die Festplatte blockieren.


2
Dies ist sehr schnell, einfach und praktisch
zzapper

24
grep '[0-9]G'enthielt viele falsch-positive und auch keine Dezimalstellen. Das hat für mich besser funktioniert:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
Wenn Sie wirklich große Verzeichnisse haben, möchten Sie [GT]statt nurG
Vitruvius

1
Gibt es ein Tool, das die Festplattennutzung in allen Verzeichnissen (träge) im Dateisystem kontinuierlich überwacht? Etwas, das auf eine Web-Benutzeroberfläche gestreamt werden kann? Vorzugsweise Soft-Realtime-Informationen.
CMCDragonkai

20
Ich benutze du -h | sort -hr | head
gerne

104

Verwenden Sie für einen ersten Blick die Übersichtsansicht von du:

du -s /*

Der Effekt besteht darin, die Größe jedes seiner Argumente zu drucken, dh jeden Stammordner im obigen Fall.

Außerdem können sowohl GNUdu als auch BSDdu in der Tiefe eingeschränkt sein ( POSIX dujedoch nicht! ):

  • GNU (Linux,…):

    du --max-depth 3
  • BSD (macOS,…):

    du -d 3
    

Dadurch wird die Ausgabeanzeige auf Tiefe 3 begrenzt. Die berechnete und angezeigte Größe ist natürlich immer noch die Gesamtsumme der vollen Tiefe. Trotzdem beschleunigt die Einschränkung der Anzeigetiefe die Berechnung drastisch.

Eine weitere hilfreiche Option ist -h(Wörter sowohl auf GNU als auch auf BSD, aber auch nicht nur auf POSIX du) für eine "lesbare" Ausgabe (dh unter Verwendung von KiB, MiB usw. ).


23
Wenn Sie sich dubeschweren, -dversuchen Sie es --max-depth 5stattdessen.
ReactiveRaven

8
Großartige Antwort. Scheint für mich richtig. Ich schlage vor du -hcd 1 /directory. -h für lesbar, c für gesamt und d für tiefe.

Ich benutzedu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headum zu filtern Erlaubnis verweigert
srghma

49

Sie können auch den folgenden Befehl ausführen du:

~# du -Pshx /* 2>/dev/null
  • Die -sOption fasst die Summe für jedes Argument zusammen und zeigt sie an.
  • h druckt Mio, Gio usw.
  • x = in einem Dateisystem bleiben (sehr nützlich).
  • P = Verfolge keine Symlinks (was dazu führen kann, dass Dateien zum Beispiel zweimal gezählt werden).

Seien Sie vorsichtig, das /rootVerzeichnis wird nicht angezeigt, Sie müssen es ausführen ~# du -Pshx /root 2>/dev/null, um es zu erhalten /root.

Bearbeiten: Korrigierte Option -P


2
du -Pshx .* * 2>/dev/null+ versteckte / System-Verzeichnisse
Mykhaylo Adamovych

27

Das Finden der größten Dateien im Dateisystem wird immer viel Zeit in Anspruch nehmen. Per Definition müssen Sie das gesamte Dateisystem nach großen Dateien durchsuchen. Die einzige Lösung ist wahrscheinlich, einen Cron-Job auf allen Ihren Systemen auszuführen, um die Datei im Voraus bereit zu haben.

Eine andere Sache, die x-Option von du, ist nützlich, um du davon abzuhalten, Mount-Punkten in andere Dateisysteme zu folgen. Dh:

du -x [path]

Der vollständige Befehl, den ich normalerweise ausführe, lautet:

sudo du -xm / | sort -rn > usage.txt

Das -mbedeutet, dass die Ergebnisse in Megabyte zurückgegeben werden und sort -rndie größte Zahl der Ergebnisse zuerst sortiert wird. Anschließend können Sie die Datei usage.txt in einem Editor öffnen. Die größten Ordner (beginnend mit /) befinden sich oben.


3
Vielen Dank für den Hinweis auf die -xFlagge!
SamB

1
"das Finden der größten dauert lange .." -> Nun, es kommt darauf an, aber es ist nicht so ncdudufind
schlimm

da ich es vorziehe, nicht root zu sein, musste ich anpassen, wo die datei geschrieben ist:sudo du -xm / | sort -rn > ~/usage.txt
Bruno

20

Ich benutze immer du -sm * | sort -n, was Ihnen eine sortierte Liste gibt, wie viel die Unterverzeichnisse des aktuellen Arbeitsverzeichnisses in Mebibyte verbrauchen.

Sie können auch Konqueror ausprobieren, das über einen "Größenansichts" -Modus verfügt, der dem von WinDirStat unter Windows ähnelt: Er gibt Ihnen einen Überblick darüber, welche Dateien / Verzeichnisse den größten Teil Ihres Speicherplatzes belegen.

Update: In neueren Versionen können Sie auch verwenden du -sh * | sort -h, um lesbare Dateigrößen anzuzeigen und nach diesen zu sortieren. (Zahlen werden mit K, M, G, ... angefügt)

Wenn Sie nach einer Alternative zu KDE3s Konqueror-Dateigrößenansicht suchen, sehen Sie sich vielleicht filelight an, obwohl es nicht ganz so schön ist.


Das ist allerdings nur Konqueror 3.x - die Dateigrößenansicht wurde noch nicht nach KDE4 portiert.

'du -sh * | sort -h 'funktioniert perfekt auf meiner Linux (Centos Distribution) Box. Vielen Dank!
Pahariayogi

18

Ich benutze dies für die 25 schlimmsten Täter unterhalb des aktuellen Verzeichnisses

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

Dieser Befehl hat es geschafft, einen versteckten Ordner zu finden, dessen Größe mit der Zeit zuzunehmen schien. Vielen Dank!
thegreendroid

Ist das in Bytes?
Benutzer

Standardmäßig liefert 'du -S' auf meinem System eine gut lesbare Ausgabe. Sie erhalten eine einfache Anzahl von Bytes für kleine Dateien und eine Zahl mit dem Suffix 'KB' oder 'MB' für größere Dateien.
Serg10

Sie könnten du -Sh verwenden, um eine vom Menschen lesbare Ausgabe zu erhalten.
Siddhartha

@Siddhartha Wenn Sie hinzufügen -h, wird sich wahrscheinlich die Wirkung des sort -nrBefehls ändern - was bedeutet, dass die Sortierung nicht mehr funktioniert und der headBefehl dann auch nicht mehr funktioniert
Clare Macrae

14

Bei einer früheren Firma hatten wir einen Cron-Job, der über Nacht ausgeführt wurde und alle Dateien über eine bestimmte Größe identifizierte, z

find / -size + 10000k

Möglicherweise möchten Sie die Verzeichnisse, in denen Sie suchen, genauer auswählen und auf remote bereitgestellte Laufwerke achten, die möglicherweise offline geschaltet werden.


Mit der Suchoption können -x Sie sicherstellen, dass Sie keine Dateien auf anderen Geräten als dem Startpunkt Ihres Suchbefehls finden. Dies behebt das Problem mit remote gemounteten Laufwerken.
rjmunro

10

Eine Möglichkeit wäre, den Befehl du / sort als Cron-Job auszuführen und in eine Datei auszugeben, damit er bei Bedarf bereits vorhanden ist.


9

Für die Kommandozeile halte ich die du / sort-Methode für die beste. Wenn Sie nicht auf einem Server sind, sollten Sie sich Baobab - Disk usage analyzer ansehen . Die Ausführung dieses Programms nimmt ebenfalls einige Zeit in Anspruch, aber Sie können das Unterverzeichnis leicht finden, wo sich alle alten Linux-ISOs befinden.


2
Es kann auch Remote-Ordner über SSH, FTP, SMB und WebDAV scannen.

Das ist toll. Einige Dinge funktionieren einfach besser mit einer GUI, um sie zu visualisieren, und dies ist einer von ihnen! Ich brauche sowieso einen X-Server auf meinem Server für CrashPlan, also funktioniert das auch.
Timelmer

9

ich benutze

du -ch --max-depth=2 .

und ich ändere die maximale Tiefe, um sie meinen Bedürfnissen anzupassen. Mit der Option "c" werden die Gesamtsummen für die Ordner gedruckt, und mit der Option "h" werden die Größen in K, M oder G entsprechend gedruckt. Wie bereits erwähnt, werden weiterhin alle Verzeichnisse durchsucht, die Ausgabe wird jedoch so eingeschränkt, dass die großen Verzeichnisse leichter zu finden sind.


9

Ich werde Zweiter xdiskusage. Aber ich werde in dem Hinweis hinzufügen, dass es sich tatsächlich um ein du-Frontend handelt und die du-Ausgabe aus einer Datei lesen kann. So können Sie du -ax /home > ~/home-duauf Ihrem Server scpdie Datei zurück ausführen und sie anschließend grafisch analysieren. Oder leiten Sie es durch ssh.


6

Versuchen Sie, die Ausgabe von du in ein einfaches awk-Skript einzugeben, das überprüft, ob die Größe des Verzeichnisses einen bestimmten Schwellenwert überschreitet. Wenn dies der Fall ist, wird es gedruckt. Sie müssen nicht warten, bis der gesamte Baum durchlaufen wurde, bevor Sie Informationen abrufen (im Gegensatz zu vielen anderen Antworten).

Im Folgenden werden beispielsweise alle Verzeichnisse angezeigt, die mehr als 500 MB belegen.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Um die Wiederverwendbarkeit zu verbessern, können Sie eine Funktion in Ihrem .bashrc definieren (oder es in ein eigenständiges Skript umwandeln).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

So dubig 200 ~/sucht man unter dem Homeverzeichnis (ohne Symlinks vom Gerät zu folgen) nach Verzeichnissen, die mehr als 200 MB belegen.


Es ist schade, dass ein Dutzend Grep-Hacks besser bewertet sind. Oh und du -kwird es absolut sicher machen, dass du KB-Einheiten benutzt
ndemou

Gute Idee zum -k. Bearbeitet
Mark Borgerding

Noch einfacher und robuster: du -kx $2 | awk '$1>'$(($1*1024))(Wenn Sie nur eine Bedingung oder ein Muster für awk angeben, lautet die Standardaktion print $0)
dave_thompson_085

Guter Punkt @ date_thompson_085. Das gilt für alle mir bekannten Versionen von awk (net / free-BSD & GNU). @ Mark-Borgerding, das bedeutet, dass Sie Ihr erstes Beispiel stark vereinfachen können, umdu -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding: Wenn du nur noch ein paar kByte hast, kannst du auch die gesamte Ausgabe von du so behalten du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Dies ist sehr hilfreich, da Sie, wenn sich herausstellt, dass Ihre erste Filterung erfolglos ist, andere Werte wie diesen ausprobieren awk '$1 > 200000' /tmp/du.logoder die gesamte Ausgabe auf diese Weise überprüfen können, sort -nr /tmp/du.log|lessohne das gesamte Dateisystem erneut zu scannen
am

4

Ich mag den guten alten xdiskusage als grafische Alternative zu du (1).


Beachten Sie diesen Teil der Frage: "Ich würde eine Befehlszeilenlösung vorziehen, die sich seit ... auf Standard-Linux-Befehle stützt"
ndemou

4

Ich bevorzuge Folgendes, um mir einen Überblick zu verschaffen und von dort aus einen Drilldown durchzuführen ...

cd /folder_to_check
du -shx */

Hiermit werden Ergebnisse mit lesbarer Ausgabe wie GB, MB angezeigt. Es verhindert auch das Durchlaufen von entfernten Dateisystemen. Die -sOption zeigt nur eine Zusammenfassung der gefundenen Ordner an, sodass Sie bei Interesse an weiteren Details eines Ordners einen Drilldown durchführen können. Beachten Sie, dass in dieser Lösung nur Ordner angezeigt werden und Sie daher das / nach dem Sternchen weglassen möchten, wenn Sie auch Dateien möchten.


4

Hier nicht erwähnt, aber Sie sollten auch lsof im Falle von gelöschten / hängenden Dateien überprüfen. Ich hatte eine 5,9 GB gelöschte tmp-Datei von einem weggelaufenen Cronjob.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage Hat mir geholfen, den Prozessbesitzer dieser Datei (cron) zu finden, und dann konnte ich /proc/{cron id}/fd/{file handle #}die Datei in weniger bekommen Frage, um den Anfang des Laufs zu machen, löse das Problem und "" sende ein Echo, um Speicherplatz freizugeben und cron sich anmutig schließen zu lassen.


3

Über das Terminal erhalten Sie eine visuelle Darstellung der Festplattennutzung mit dutree

Es ist sehr schnell und leicht, da es in Rust implementiert ist

dutree

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

Alle Einzelheiten zur Verwendung finden Sie auf der Website



2

Sie können Standardwerkzeuge wie findund verwenden sort, um Ihre Speicherplatznutzung zu analysieren.

Listen Sie die Verzeichnisse nach ihrer Größe sortiert auf:

find / -mount -type d -exec du -s "{}" \; | sort -n

Liste Dateien sortiert nach ihrer Größe:

find / -mount -printf "%k\t%p\n" | sort -n

1
Ich finde, dies ist die beste Antwort, um die Größe in sortierter Reihenfolge zu erkennen
vimal krishna

2

Vielleicht ist zu beachten, dass mc(Midnight Commander, ein klassischer Textmodus-Dateimanager) standardmäßig nur die Größe der Verzeichnis-Inodes anzeigt (normalerweise 4096), aber mit CtrlSpaceoder mit dem Menü Extras können Sie den vom ausgewählten Verzeichnis belegten Speicherplatz in einer für Menschen lesbaren Form anzeigen Format (zB einige mögen 103151M).

Zum Beispiel zeigt das Bild unten die volle Größe der Vanille TeX Live-Distributionen von 2018 und 2017, während die Versionen von 2015 und 2016 nur die Größe der Inode zeigen (aber sie haben wirklich in der Nähe von jeweils 5 GB).

Das heißt, es CtrlSpacemuss eins nach dem anderen durchgeführt werden, nur für die aktuelle Verzeichnisebene, aber es ist so schnell und praktisch, wenn Sie damit navigieren, mcdass Sie es möglicherweise nicht benötigen ncdu(das ist in der Tat nur für diesen Zweck besser). Sie können aber auch laufen ncduaus mc. ohne zu beenden mcoder ein anderes Terminal zu starten.

mwe


1

Zuerst überprüfe ich die Größe der Verzeichnisse wie folgt:

du -sh /var/cache/*/

1

Wenn Sie wissen, dass die großen Dateien in den letzten Tagen hinzugefügt wurden (z. B. 3), können Sie einen Suchbefehl in Verbindung mit " ls -ltra" verwenden, um die kürzlich hinzugefügten Dateien zu ermitteln:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

Dadurch erhalten Sie nur die Dateien (" -type f"), keine Verzeichnisse. nur die Dateien mit Änderungszeit in den letzten 3 Tagen (" -mtime -3") und " ls -lart" für jede gefundene Datei (" -exec" Teil) ausführen .


1

Um zu verstehen, wie viel Speicherplatz überproportional belegt ist, ist es oft nützlich, im Stammverzeichnis zu beginnen und einige der größten untergeordneten Elemente zu durchsuchen.

Wir können dies tun, indem wir

  • Speichern Sie die Ausgabe von du in eine Datei
  • Das Ergebnis iterativ durchgehen

Das ist:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

Sagen wir jetzt, / usr erscheint zu groß

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

Jetzt, wenn / usr / local verdächtig groß ist

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

und so weiter...


1

Ich habe diesen Befehl verwendet, um Dateien zu finden, die größer als 100 MB sind:

find / -size +100M -exec ls -l {} \;

0

Ich hatte Erfolg darin, die schlimmsten Täter aufzuspüren, die die duAusgabe in lesbarer Form egrepan einen regulären Ausdruck weitergaben und mit diesem übereinstimmten.

Zum Beispiel:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

das sollte dir alles 500 megs oder mehr zurückgeben.


Verwenden grep nicht für arithmetische Operationen - Verwendung awk statt: du -k | awk '$1 > 500000'. Es ist viel einfacher zu verstehen, zu bearbeiten und beim ersten Versuch richtig zu werden.
Ndemou

0

Wenn Sie Geschwindigkeit wünschen, können Sie Kontingente für die zu überwachenden Dateisysteme aktivieren (Sie müssen keine Kontingente für einen Benutzer festlegen) und ein Skript verwenden, das mit dem Befehl quota den von jedem Benutzer verwendeten Speicherplatz auflistet. Zum Beispiel:

quota -v $user | grep $filesystem | awk '{ print $2 }'

würde Ihnen die Festplattennutzung in Blöcken für den bestimmten Benutzer auf dem bestimmten Dateisystem geben. Auf diese Weise sollten Sie in der Lage sein, Verwendungen in Sekundenschnelle zu überprüfen.

Um Quoten zu aktivieren, müssen Sie usrquota zu den Dateisystemoptionen in Ihrer / etc / fstab-Datei hinzufügen und dann wahrscheinlich neu starten, damit quotacheck auf einem inaktiven Dateisystem ausgeführt werden kann, bevor quotaon aufgerufen wird.


0

Hier ist eine winzige App, die mithilfe von Deep Sampling nach Tumoren auf einer Festplatte oder in einem Verzeichnis sucht. Der Verzeichnisbaum wird zweimal durchlaufen, einmal, um ihn zu messen, und das zweite Mal, um die Pfade zu 20 "zufälligen" Bytes unter dem Verzeichnis auszudrucken.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

Die Ausgabe für mein Programmverzeichnis sieht folgendermaßen aus:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Es sagt mir, dass das Verzeichnis 7,9 GB ist, von denen

  • ~ 15% gehen an den Intel Fortran Compiler
  • ~ 15% gehen an VS .NET 2003
  • ~ 20% gehen an VS 8

Es ist einfach genug zu fragen, ob eines davon entladen werden kann.

Außerdem werden Dateitypen beschrieben, die über das Dateisystem verteilt sind, zusammengenommen jedoch eine Möglichkeit zur Platzersparnis darstellen:

  • ~ 15% gehen ungefähr in CAB- und MSI-Dateien
  • ~ 10% werden ungefähr für die Protokollierung von Textdateien verwendet

Es zeigt auch viele andere Dinge, auf die ich wahrscheinlich verzichten könnte, wie die Unterstützung von "SmartDevices" und "ce" (~ 15%).

Es dauert zwar linear, muss aber nicht oft durchgeführt werden.

Beispiele für Dinge, die es gefunden hat:

  • Sicherungskopien von DLLs in vielen gespeicherten Code-Repositorys, die nicht wirklich gespeichert werden müssen
  • Eine Sicherungskopie der Festplatte einer anderen Person auf dem Server in einem undurchsichtigen Verzeichnis
  • umfangreiche temporäre Internetdateien
  • alte Doc- und Hilfedateien, die längst nicht mehr benötigt wurden

0

Ich hatte ein ähnliches Problem, aber die Antworten auf dieser Seite reichten nicht aus. Ich fand den folgenden Befehl am nützlichsten für die Auflistung:

du -a / | sort -n -r | head -n 20

Welches würde mir die 20 größten Übeltäter zeigen. Obwohl ich dies ausgeführt habe, wurde mir das eigentliche Problem nicht angezeigt, da ich die Datei bereits gelöscht hatte. Der Haken war, dass es noch einen Prozess gab, der auf die gelöschte Protokolldatei verwies ... also musste ich diesen Prozess zuerst beenden, dann wurde der Speicherplatz als frei angezeigt.


Guter Punkt, aber dies sollte ein Kommentar und keine Antwort für sich sein - diese Frage leidet an zu vielen Antworten
ndemou

0

Sie können DiskReport.net verwenden , um einen Online- Webbericht aller Ihrer Festplatten zu erstellen.

Bei vielen Läufen wird ein Verlaufsdiagramm für alle Ordner angezeigt, mit dem Sie leicht feststellen können, was gewachsen ist


Dieses Tool entspricht nicht den beiden Hauptpunkten der Frage "Ich habe es oft schwer, den Schuldigen zu finden, nachdem eine Partition voll ist" und "Ich bevorzuge eine Befehlszeilenlösung, die auf Standard-Linux-Befehlen
basiert

0

Es gibt eine schöne plattformübergreifende Freeware namens JDiskReport, die eine grafische Benutzeroberfläche enthält, um herauszufinden , was den gesamten Speicherplatz einnimmt .

Beispiel-Screenshot:
JDiskReport-Screenshot

Natürlich müssen Sie ein wenig Speicherplatz manuell freimachen, bevor Sie ihn herunterladen und installieren oder auf ein anderes Laufwerk (z. B. einen USB-Stick) herunterladen können.


(Hierher kopiert von der Antwort desselben Autors auf eine doppelte Frage)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.