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

배쉬의 경우:

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 숫자 뒤의 개행 문자는 콘솔 개행이 출력에 나타나는 것을 방지해야 합니다.

관련 정보