Wenn Sie nur die Größe des Ordners sehen möchten und nicht die Unterordner, können Sie Folgendes verwenden:
du -hs /Pfad/zum/Verzeichnis
Aktualisierung:
Sie sollten wissen, dass du
den verwendeten Festplattenspeicher anzeigt und nicht die Dateigröße.
Sie können --apparent-size
verwenden, wenn Sie die Summe der tatsächlichen Dateigrößen sehen möchten.
--apparent-size
zeigt scheinbare Größen an, anstatt die Festplattennutzung; obwohl die scheinbare Größe normalerweise kleiner ist, kann sie aufgrund von Löchern in ('sparse') Dateien, interner Fragmentierung, indirekten Blöcken und Ähnlichem größer sein
Und natürlich benötigen Sie kein -h
(Human Readable) Option innerhalb eines Skripts.
Stattdessen können Sie -b
für einen einfacheren Vergleich im Skript verwenden.
Aber Sie sollten beachten, dass -b
--apparent-size
von selbst anwendet. Und es könnte nicht das sein, was Sie brauchen.
-b, --bytes
entspricht '--apparent-size --block-size=1'
also denke ich, Sie sollten --block-size
oder -B
verwenden
#!/bin/bash
SIZE=$(du -B 1 /Pfad/zum/Verzeichnis | cut -f 1 -d " ")
# 2GB = 2147483648 Bytes
# 10GB = 10737418240 Bytes
if [[ $SIZE -gt 2147483648 && $SIZE -lt 10737418240 ]]; then
echo 'Bedingung ergab True'
fi