Ich erhalte folgende Ausgabe du -h
:
103M ./.wine/drive_c/windows/mono/mono-2.0/lib/mono
103M ./.wine/drive_c/windows/mono/mono-2.0/lib
129M ./.wine/drive_c/windows/mono/mono-2.0
129M ./.wine/drive_c/windows/mono
362M ./.wine/drive_c/windows
545M ./.wine/drive_c
Ich möchte nur den am besten umsetzbaren Ordner anzeigen, nämlich den Ordner ./.wine/drive_c/windows/mono/mono-2.0/lib/mono
Gibt es eine Möglichkeit, den übergeordneten Ordner zu entfernen, wenn ein untergeordneter Ordner für den größten Teil der Speicherplatznutzung verantwortlich ist?
Eine Einstellung, bei der nur Blattordner angezeigt werden, reicht möglicherweise aus, oder eine Einstellung, bei der die Größe aller Unterordner von einem übergeordneten Ordner abgezogen wird, wenn die Größe des übergeordneten Ordners berechnet wird.
disk-usage
EoghanM
quelle
quelle
Antworten:
Wenn Sie GNU du verwenden, können Sie die Option
-S
oder verwenden--separate-dirs
, um die Größe der Unterverzeichnisse bei der Berechnung der Verwendung für das übergeordnete Element nicht zu berücksichtigen.Ihr
du
Befehl unterstützt diese Option möglicherweise nicht.Sie können dieses Paar mit sort verwenden, um die größten Einzelverzeichnisse abzurufen (unter der Annahme von GNU-Tools):
quelle
Persönlich kombiniere ich es einfach mit der Kraft der GNU-Sorte:
Dadurch werden die Größen in einem für Menschen lesbaren Format sortiert. Beispielsweise:
Von
man sort
:Es werden immer noch diejenigen angezeigt, die Sie nicht interessieren, aber es ist jetzt sehr einfach, diejenigen zu finden, die Sie tun.
quelle
545M ./.wine/drive_c
oben in der Liste angezeigt wird, obwohl es nur Ordner und keine Dateien enthält, und es schwieriger macht zu sehen, wie der Speicherplatz unter den (rekursiven) Unterordnern von drive_c verteilt ist, weil sie nicht werden nicht nacheinander in der Liste angezeigt.Wenn Sie nur eine übersichtliche Ansicht suchen, empfehle ich das
durep
Paket.Beispielausgabe:
Verwenden Sie den
-td
Parameter, um die maximale Tiefe anzugeben, und den-hs
Parameter, um eine minimale Größe für einen Ordner anzugeben, der in den Ergebnissen angezeigt werden soll.quelle
Sie sind sich nicht sicher, ob Sie dies möchten, aber Sie können übergeordnete Verzeichnisse mithilfe von GNUs
find
entfernen-execdir
:Die
-execdir
Option ähnelt-exec
dem Befehl, führt ihn jedoch im Unterverzeichnis aus, in demfind
eine Datei gefunden wurde.quelle
Wenn Sie
du
eine feste Tiefe verwenden,du -m -d 2 .
können Sie beispielsweise Linien ausblenden, die Ihre maximale Tiefe nicht erreichen, wie folgt:In diesem Fall wollte ich eine Tiefe von 2 Verzeichnissen, daher habe ich die Ergebnisse nur mit 3 Feldern beibehalten, die mit dem
awk
Schlüsselwort definiert wurden,NF
nachdem"/"
ich zu Beginn mein Feldtrennzeichen angegeben hatte.quelle
Diese beiden arbeiten für mich:
quelle