watch 周期性执行给定命令

watch

周期性地执行给定的命令,并全屏输出命令执行结果。可以用 Ctrl-c 来终止watch命令。

用法

watch [-bdehpvtx] [-n seconds] [--beep] [--color] [--defferences[cumulative]] [--errexit] [--exec] [--help] [--interval=seconds] [--no-title] [--precise] [--version] command

command默认是交给 sh -c 执行的,有时候需要用引号来明确命令。

选项

  • -n seconds, --interval=seconds:每隔指定的秒执行命令。这个间隔是指命令上一次结束到下一次开始执行之间的间隔。默认2秒。
  • -p, --precise:让watch尝试每隔指定的秒执行命令,这样间隔不包括执行命令所用时间。只是尽力而为的准确。
  • -e, --errexit:命令执行出错(返回值非0)时退出watch命令。
  • -t, --no-title:watch不在首行显示执行间隔、命令、当前时间和后面的空行。
  • -b, --beep:如果command执行返回值非0,beep。
  • -d, --defferences:高亮两次成功执行结果之间的差异。
  • -x, --exec:把command交给 exec 命令执行。

举例

watch -n 5 df -h:每隔5秒查看磁盘的空间大小。

watch -d ls -l:每隔2秒高亮输出两次ls之间的差异。

watch -d 'ls -l | grep text':注意单引号的使用。

注意watch -n 10 sleep 1watch -p -n 10 sleep 1的区别,前者每隔11秒执行一次,后者每隔10秒执行一次,-p选项尽量减去命令的执行时间。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.