Ich möchte nur die Gesamtgröße eines gemounteten Dateisystems ermitteln. Der Haken dabei ist jedoch, dass ich nur den Mount-Punkt kenne. Daher dachte ich daran, den df
Befehl zu verwenden.
Um die Größe dieses gemounteten Dateisystems zu ermitteln, habe ich den folgenden Befehl ausgeführt:
df --output=target,size | grep -w /mnt/xyz
Das Ergebnis, das ich erhielt, war ungefähr Folgendes:
/mnt/xyz 4339044
Ich weiß, wie man es benutzt, cut
aber es hat hier keinen Nutzen, da mir der Abstand zwischen der Zeichenfolge und den Ganzzahlen unbekannt ist. Gibt es eine Möglichkeit, diese Größe einfach auf dem Terminal auszudrucken?
Antwort1
Sie können es auch ohne tun grep
:
df --output=target,size /mnt/xyz | awk ' NR==2 { print $2 } '
df
akzeptiert als Argument den Einhängepunkt; Sie können anweisen, awk
sowohl nur die zweite Zeile (NR==2) als auch das zweite Argument, $2, auszudrucken.
Oder noch besser: Schneiden Sie das Ziel ab, da Sie es nicht ausgeben, und es wird:
df --output=size /mnt/xyz | awk ' NR==2 '
Als ich Anfänger war, gelang es mir auch, cut
die Einschränkungen zu umgehen, indem ich tr -s " "
überflüssige Leerzeichen mit (squeeze) ausschnitt, wie in:
df --output=target,size /mnt/xyz | tail -1 | tr -s " " | cut -f2 -d" "
Antwort2
Es gibt auch den findmnt
Befehl, der die Anzahl der Bytes oder eine „menschliche“ Zahl (leider Potenzen von 1024 mit nicht-ISO-Abkürzungen) ausgeben kann:
$ findmnt -no size /mnt/xyz
9.7G
$ findmnt -bno size /mnt/xyz
10434699264