Nur die Größe eines gemounteten Dateisystems abrufen

Nur die Größe eines gemounteten Dateisystems abrufen

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 dfBefehl 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, cutaber 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 } '

dfakzeptiert als Argument den Einhängepunkt; Sie können anweisen, awksowohl 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, cutdie 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 findmntBefehl, 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

verwandte Informationen