Antworten:
Was eine optimierte Version betrifft du
, ist mir keine bekannt. Die Dinge, die mir in den Sinn kommen, sind:
stat -c '%h'
) - 2.Von all diesen sind die Kontingent- und dedizierten Partitionsoptionen wahrscheinlich die einfachsten und effizientesten.
Das Problem ist, dass 'du' jedes Objekt im Unterbaum auflisten muss. Dies ist eine metadatenintensive Operation, die für die meisten Linux-Dateisysteme eine Weile dauert. Einige Dateisysteme, NTFS und Novells NSS, haben die Möglichkeit, Verzeichnisgrößen wie diese in den Metadaten zu verfolgen , was diesen Vorgang erheblich beschleunigt. Wenn Ihr Dateisystem Verzeichniskontingente unterstützt, muss es diese Daten zur Durchsetzung intern verfolgen. Jede Größenänderung wird im Verzeichnisbaum auf den Kontingentpunkt (NTFS) oder jedes Verzeichnis (NSS) repliziert ) Wenn es passiert, ist es sehr schnell, eine Verzeichnisbaumgröße zu erhalten.
Leider gibt es keine Möglichkeit, du schneller laufen zu lassen, nur Workarounds.
du -h --max-depth=1
Gibt Ihnen die Größen im menschlichen KB / MB / GB-Format aus Ihrem aktuellen Arbeitsverzeichnis.
Mit den Standardwerkzeugen müssen Sie die Größe jeder Datei im Verzeichnis jedes Mal ermitteln, wenn Sie die Gesamtgröße ermitteln möchten. Ein möglicherweise effizienterer Weg wäre ein "Verzeichnisgrößenmonitor", der die aktuelle Größe des Verzeichnisses verfolgt. Es gibt keine solche Sache (von der ich weiß), aber Sie könnten eine mit implementieren inotify
. Möglicherweise nicht mit bash (und inotify-tools
), aber Sie könnten wahrscheinlich zum Beispiel Python und Pyinotify verwenden.
Wenn Sie nur die Festplattennutzung für das Root-Dateisystem wünschen, dann
df -h /
Nein. Könnten Sie in einem Cron-Job, der über Nacht ausgeführt werden soll, in regelmäßigen Abständen ein Du-Piping an eine Textdatei durchführen, sodass Sie nicht sofort über aktuelle Daten verfügen?
Beachten Sie, dass das Messen des von einem Ordner verwendeten Speicherplatzes, der unter Windows eine große Anzahl von Dateien enthält, ebenfalls einige Zeit in Anspruch nimmt.
df -h wird den Trick machen
df -kh /
Dies zeigt Ihnen die Menge des verwendeten und verfügbaren Speicherplatzes.
Vielleicht
df -h
Zusätzlicher Text, da eine kurze, präzise Antwort nicht ausreicht, damit Serverfault mich für einen Menschen hält.
Sie sollten dnotify verwenden, um die Festplattennutzung zu berechnen, wenn das Dateisystem nicht häufig geändert wird.