如何每30秒顯示一次df的結果?

如何每30秒顯示一次df的結果?

我想看到的是df /每 30 秒發出一次但在前一個數字之後的同一行上的%。

所以最終的輸出是86% 86% 86% 87% 87% ......

可以是一行程式碼嗎?或多行“程序”?

答案1

我更喜歡

watch -n 30 df

男士手錶:

watch - 定期執行程序,全螢幕顯示輸出

答案2

while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do
    sleep 30
done
echo

答案3

您可以使用watch

watch -n 30 -t df /

但這會覆蓋現有的輸出

答案4

對於bash:

i=1
outputs_per_line=10
frequency=30
while true; do
  echo -n "$(df / | awk 'NR==2 {print $5}') "
  if [ $((i%outputs_per_line)) -eq 0 ]; then
    echo
  fi
  ((i++))
  sleep "$frequency"
done

$outputs_per_line 數字後面的換行符號應可防止輸出中出現控制台換行符號。

相關內容