GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Holen Sie sich freien Speicherplatz mit df, um den freien Speicherplatz nur in kb anzuzeigen?

Um die Ausgabe von df zu erhalten Um die Daten in kb anzuzeigen, müssen Sie nur den -k verwenden Flagge:

df -k

Auch, wenn Sie ein Dateisystem auf df angeben , erhalten Sie die Werte für diesen bestimmten anstelle von allen:

df -k /example

In Bezug auf den Hauptteil Ihrer Frage:Sie möchten die Menge an freiem Speicherplatz auf einem bestimmten Dateisystem extrahieren. Dies erfordert einige Verarbeitung.

Bei einem normalen df -k Ausgabe:

$ df -k /tmp
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        7223800 4270396   2586456  63% /

Sie können den Available erhalten (4. Spalte) zum Beispiel mit awk oder cut (früher zu tr geleitet bis squeeze-repeats (-s ) für Leerzeichen):

$ df -k /tmp | tail -1 | awk '{print $4}'
2586456
$ df -k /tmp | tail -1 | tr -s ' ' | cut -d' ' -f4
2586456

Wenn Sie das Ergebnis in einer Variablen speichern möchten, verwenden Sie wie immer den var=$(command) Syntax wie folgt:

$ myUsed=$(df -k /tmp | tail -1 | awk '{print $4}')
$ echo "$myUsed"
2586456

Aus dem Kommentar von Tim Bunce können Sie auch lange Dateisystemnamen mit --direct behandeln um einen - zu erhalten stattdessen, damit es keine Zeile druckt, die die Engine unterbricht:

$ df -k --direct /tmp
Filesystem     1K-blocks    Used Available Use% Mounted on
-                7223800 4270396   2586456  63% /

Sie können den Befehl stat(2) verwenden, um freie Blöcke anzuzeigen und auch herauszufinden, wie groß jeder Block ist, z. B.

stat -f --printf="%a %s\n" /

zeigt die Anzahl der freien Blöcke (%a) auf einem bestimmten Dateisystem (/) gefolgt von einer Blockgröße (%s) an. Um die Größe in kB zu erhalten, können Sie den Befehl bc(1) wie im folgenden Beispiel verwenden:

stat -f --printf="%a * %s / 1024\n" / | bc

Um dies schließlich in eine Variable zu setzen, müssen Sie nur die Backtick-Substitution (oder $() wie in der ersten Antwort) verwenden:

SOMEVAR=`stat -f --printf="%a * %s / 1024\n" / | bc`

Linux
  1. Unbenutzten Speicherplatz mit Nullen löschen (ext3,ext4)?

  2. So geben Sie Speicherplatz auf einem dedizierten Server frei

  3. Überprüfen des freien Speicherplatzes auf dem FreeBSD-Server

  4. So geben Sie Speicherplatz auf cPanel-Servern frei

  5. Wie lösche ich freien Speicherplatz in Linux?

Überprüfen Sie den freien Speicherplatz in Linux mit ncdu

5 Linux-Befehle zum Überprüfen des freien Speicherplatzes

So visualisieren Sie die Speicherplatznutzung mit Vizex

So überprüfen Sie den freien Speicherplatz unter Linux

Datenträgerbereinigung:So geben Sie Speicherplatz mit cPanel frei

Überprüfen Sie den freien Speicherplatz für die aktuelle Partition in Bash