Gibt es einen einfachen Befehl zum Anzeigen der Gesamtgröße (Festplattennutzung) aller Dateien in einem Verzeichnis (Ordner)?
Ich habe diese ausprobiert und sie machen nicht das, was ich will:
ls -l
, die nur die Größe der einzelnen Dateien in einem Verzeichnis anzeigt, nochdf -h
, die nur den freien und belegten Speicherplatz auf meinen Festplatten anzeigt.
filesystem
command-line
David Barry
quelle
quelle
Antworten:
Der Befehl
du
"fasst die Festplattennutzung jeder DATEI rekursiv für Verzeichnisse zusammen", z.-h
ist auf die Zahlen „human readable“, zB bekommen zu bekommen140M
statt143260
(Größe in KBytes)-s
ist für die Zusammenfassung (ansonsten erhalten Sie nicht nur die Größe des Ordners, sondern auch für alles im Ordner separat)Während der Verwendung können
-h
Sie die vom Menschen lesbaren Werte mit sortierenDas
-h
Flag onsort
berücksichtigt die Größenwerte für "Human Readable".Wenn Sie vermeiden möchten, alle Dateien und Verzeichnisse rekursiv aufzulisten, können Sie den
--max-depth
Parameter angeben, um die Anzahl der angezeigten Elemente zu begrenzen. Am häufigsten,--max-depth=1
quelle
du -sh
oder DOOSH, um mich daran zu erinnern (HINWEIS: Der Befehl ist derselbe, nur die Organisation von Befehlszeilen-Flags für Speicherzwecke)du -hs *
und ging in das größte Verzeichnis und fand heraus, welche Dateien so groß waren ... Dies ist eine so gute Methode, und das Beste daran ist, dass Sie nichts installieren müssen! Auf jeden Fall verdient meine upvotedu
hat eine etwas eigenartige Rundung, die keine Dezimalstellen anzeigt, wenn der Wert mehr als eine Ziffer in der gewählten Einheit hat) und das klassische 1024-gegen-1000-Präfix- Problem.du
hat eine Option-B
(oder--block-size
) , um die Einheiten zu ändern , in der sie Werte anzeigt, oder könnten Sie verwenden ,-b
anstatt-h
den „rohen“ Wert in Bytes zu erhalten.Kürzlich habe ich ein großartiges, auf ncurses basierendes interaktives Tool gefunden, das Ihnen schnell einen Überblick über die Verzeichnisgrößen gibt. Suchte jahrelang nach solchen Werkzeugen.
Betrachten Sie es als Baobab für die Befehlszeile:
quelle
ncdu
ist großartig! Tun Sie dies einfach, nachdem Sie es installiert habenncdu /
. Sie werden sehr schnell die größten Dateien auf dem System finden. Drücken Sie auch,h
während Sie sich in der Konsole von ncdu befinden. Es hat sehr nützliche AbkürzungenDadurch wird die Größe rekursiv ermittelt und neben jedem Ordnernamen zusammen mit der Gesamtgröße unten im menschlichen Format angezeigt
quelle
Genießen!
Weitere Informationen zu diesem Befehl finden Sie hier
quelle
tree
ist ein weiterer nützlicher Befehl für diesen Job:Installieren Sie es einfach über
sudo apt-get install tree
und geben Sie Folgendes ein:Vom Menschenbaum :
quelle
Nachstehend ist aufgeführt, was ich zum Drucken der Gesamtgröße, des Ordners und der Dateigröße verwende:
Einzelheiten
Ausgabe
quelle
Die Antworten haben deutlich gemacht, dass dies
du
das Werkzeug ist, um die Gesamtgröße eines Verzeichnisses zu ermitteln. Es sind jedoch einige Faktoren zu berücksichtigen:Gelegentlich kann die
du
Ausgabe irreführend sein, da sie den vom Dateisystem zugewiesenen Speicherplatz angibt, der sich von der Summe der Größen der einzelnen Dateien unterscheiden kann. Normalerweise weist das Dateisystem einer Datei 4096 Byte zu, selbst wenn Sie nur ein Zeichen darin gespeichert haben!Leistungsunterschiede aufgrund der Leistung von 2 und der Leistung von 10 Einheiten. Der
-h
Schalter zumdu
Teilen der Anzahl der Bytes durch 2 ^ 10 (1024), 2 ^ 20 (1048576) usw., um eine vom Menschen lesbare Ausgabe zu erhalten. Viele Menschen sind möglicherweise eher daran gewöhnt, Potenzen von 10 zu sehen (z. B. 1K = 1000, 1M = 1000000) und sind vom Ergebnis überrascht.Gehen Sie wie folgt vor, um die Gesamtsumme der Größen aller Dateien in einem Verzeichnis in Byte zu ermitteln:
Beispiel:
quelle
--bignum
oder-M
; Wenn dies keine Option ist, verwenden Siefind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
Option: "Wie -h, aber verwenden Sie Potenzen von 1000, nicht 1024"Verwenden Sie die folgenden Angaben nur für die Verzeichnisgröße in einem lesbaren Format:
Dies ist wahrscheinlich nicht im richtigen Abschnitt, aber über die Befehlszeile können Sie versuchen:
Das
-s
ist Größe und das-h
ist vom Menschen lesbar.Verwenden Sie
-l
auf zeigenls
Liste, wie unten:quelle
du /foldername
ist der Standardbefehl zum Ermitteln der Größe eines Ordners. Es wird empfohlen, die Optionen in der Manpage zu finden:Sie sollten die Online- Handbuchseite lesen, bevor Sie den Befehl verwenden.
quelle
Hier ist ein POSIX-Skript, mit dem Folgendes funktioniert:
Quelle
quelle
Wenn Ihr gewünschtes Verzeichnis viele Unterverzeichnisse enthält, verwenden Sie Folgendes:
Dies würde dann eine Gesamtsumme des Speicherbedarfs aller Dateien / Ordner im aktuellen Verzeichnis ergeben.
quelle
Das Beste, was ich denke, ist das Folgende:
Dadurch wird nur die Größe des Verzeichnisses angezeigt, an dem Sie interessiert sind, und es werden keine Verzeichnisse und Dateien in diesem Verzeichnis gedruckt.
Ich sollte hinzufügen, dass, wenn die Größe des Ordners groß ist, Sie längere Zeit brauchen. Sie müssen geduldig sein, damit dieser Befehl ausgeführt werden kann. Wie bei jedem anderen Unix-Befehl können Sie die Gesamtzeit für diesen Vorgang ermitteln, indem Sie
time
vor diesem Befehl Folgendes ausführen :quelle
du
hat eine Option dafür:-s