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 1
和 watch -p -n 10 sleep 1
的区别,前者每隔11秒执行一次,后者每隔10秒执行一次,-p
选项尽量减去命令的执行时间。
欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。