watch - execute a program periodically, showing output fullscreen
定期执行一个程序,全屏显示输出
watch
重复运行命令,显示其输出和错误(第一个完整屏)。这允许您观察程序输出随时间的变化,默认情况下,程序每2秒运行一次。默认情况下,watch
命令将一直运行到中断。
格式:watch [options] command
option:
- -d,--differences:高亮显示每次显示之间的差异。非常好用。
- -n,--interval seconds:默认间隔2秒执行一次,可自定义时间间隔
- -t,--no-tile:关闭显示在顶部的间隔,命令和当前时间的标题,以及下面的空行。
- -g,--chgexit:当命令的输出变化时退出。
虽然
watch
命令(command)使用了POSIX选项处理了在第一个非选项参数处停止,这意味着命令(command)后的标志不会由watch
本身来解释。但建议使用''
括起来command,不然还是有可能有冲突。
示例:
[root@node1 ~]# watch -d 'free' #监控free命令的执行结果,这样就可以忘掉free自带的`-c,-s`选项了。
Every 2.0s: free Mon Jan 21 20:34:55 2019
total used free shared buff/cache available
Mem: 997956 169960 565272 7792 262724 660576
Swap: 2097148 0 2097148
[root@node1 ~]# watch -td ls -l /etc/passwd #查看文件是否有变化
总结:watch
相当于crond
,只不过watch
是一个命令,且无需专门定一个时间点来执行某些命令,是实时的且将显示输出至屏幕方便实时查看。