df
Befehl :Speichernutzung des Dateisystems meldendu
Befehl :Speicherplatznutzung der Datei schätzen
Geben Sie df -h
ein oder df -k
freien Speicherplatz auflisten:
$ df -h
ODER
$ df -k
du
zeigt, wie viel Platz eine oder mehrere Dateien oder Verzeichnisse belegen:
$ du -sh
Die -s
Option fasst den Speicherplatz zusammen, den ein Verzeichnis verwendet, und -h
Option bietet Von Menschen lesbar Ausgabe.
Ja:
df -k .
für das aktuelle Verzeichnis.
df -k /some/dir
wenn Sie ein bestimmtes Verzeichnis überprüfen möchten.
Vielleicht möchten Sie sich auch den stat(1)
ansehen Befehl, wenn Ihr System es hat. Sie können Ausgabeformate angeben, um das Parsen Ihres Skripts zu erleichtern. Hier ist ein kleines Beispiel:
$ echo $(($(stat -f --format="%a*%S" .)))
Ich denke, dies sollte ein Kommentar oder eine Bearbeitung der Antwort von ThinkingMedia auf genau diese Frage sein (überprüfen Sie den freien Speicherplatz für die aktuelle Partition in Bash), aber ich darf keinen Kommentar abgeben (nicht genügend Wiederholung) und meine Bearbeitung wurde abgelehnt (Grund:"Dies sollte ein Kommentar oder eine Antwort sein"). Also bitte, Mächte des SO-Universums, verdammen Sie mich nicht dafür, dass ich die "Antwort" eines anderen wiederholt und korrigiert habe. Aber jemand im Internet hat sich geirrt!™ und sie haben mich nicht reparieren lassen.
Der Code
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
hat einen wesentlichen Fehler:Ja, es wird 50G
ausgegeben kostenlos als 50 -- aber es wird auch 5.0M
ausgegeben kostenlos als 50 oder 3.4G
kostenlos als 34 oder 15K
kostenlos ab 15.
Um ein Skript mit dem Zweck zu erstellen, nach einer bestimmten Menge an freiem Speicherplatz zu suchen, müssen Sie die Unit kennen, gegen die Sie suchen. Entfernen Sie es (als sed
im Beispiel oben) machen die Zahlen keinen Sinn mehr.
Wenn Sie wirklich wollen, dass es funktioniert, müssen Sie so etwas tun:
FREE=`df -k --output=avail "$PWD" | tail -n1` # df -k not df -h
if [[ $FREE -lt 10485760 ]]; then # 10G = 10*1024*1024k
# less than 10GBs free!
fi;
Auch für einen Installateur zu df -k $INSTALL_TARGET_DIRECTORY
könnte sinnvoller sein als df -k "$PWD"
.Abschließend beachten Sie bitte, dass der --output
flag ist nicht in jeder Version von df / linux verfügbar.