Ich möchte eine Liste der Verzeichnisse und ihrer Größen in einem Listenformat erhalten, wie Sie es erhalten, wenn Sie eine ls -l
.
Die Sache ist, dass es einen einzeiligen Befehl gibt, der dies tun kann? Ich sehe, dass andere lange Befehle haben, um dies auszugeben. Das ist einfach zu lang.
Welcher Befehl kann dies oder eine Kombination von Befehlen, die einfach eingegeben werden können? du -h
gibt es, aber es zeigt alle Unterordner, was nicht das ist, was ich will. nur die aktuellen Verzeichnisse Ordner.
bash: /run/current-system/sw/bin/du: Argument list too long
Versuche dies
Ausgabe
Alternative
Wenn
--max-depth=1
es für Ihren Geschmack etwas zu lang ist, können Sie auch versuchen, Folgendes zu verwenden:Dies verwendet
-s
(--summarize
) und druckt standardmäßig nur die Größe des Ordners. Durch die Übergabe aller Elemente im aktuellen Arbeitsverzeichnis (*
) wird eine ähnliche Ausgabe erzeugt wie--max-depth=1
bei:Ausgabe
Der Unterschied ist subtil. Der vorherige Ansatz zeigt die Gesamtgröße des aktuellen Arbeitsverzeichnisses und die Gesamtgröße aller darin enthaltenen Ordner an ... jedoch nur bis zu einer Tiefe von 1.
Der letztere Ansatz berechnet die Gesamtgröße aller übergebenen Elemente einzeln . Daher wird der Symlink
lib64
in die Ausgabe einbezogen, die ausgeblendeten Elemente (deren Name mit einem Punkt beginnt) werden jedoch ausgeschlossen. Es fehlt auch die Gesamtgröße für das aktuelle Arbeitsverzeichnis, da dies nicht als Argument übergeben wurde.quelle
--depth
Parameter nicht erkannt. Verwenden Siedu -h -d 1
für das gleiche Ergebnis.Drucken Sie die Größe aller Ordner und versteckten Dateien auf der Festplatte:
quelle
Erwähnenswert ist der Shell-Befehl NCurses Disk Usage .
quelle