引用自https://www.cnblogs.com/peida/archive/2012/12/31/2840241.html
watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在 Linux 下,watch 是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了!
1.命令格式:
watch [参数] [命令]
2.命令功能:
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令 / 定时执行命令
3.命令参数:
-n
或 --interval
watch 缺省每 2 秒运行一下程序,可以用-n
或-interval
来指定间隔的时间。
-d
或 --differences
用-d
或--differences
选项 watch 会高亮显示变化的区域。而 -d=cumulative
选项会把变动过的地方 (不管最近的那次有没有变动) 都高亮显示出来。
-t
或-no-title
会关闭 watch 命令在顶部的时间间隔, 命令,当前时间的输出。
-h
, --help
查
看帮助文档
4.使用实例:
实例 1:
-
命令:每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d netstat -ant
-
说明:
其它操作:
切换终端:{Ctrl}
+{x}
退出 watch:{Ctrl}
+{G}
实例 2:每隔一秒高亮显示 http 链接数的变化情况
-
命令:
watch -n 1 -d 'pstree|grep http'
-
说明:每隔一秒高亮显示 http 链接数的变化情况。后面接的命令若带有管道符,需要加
''
将命令区域归整。
实例 3:实时查看模拟攻击客户机建立起来的连接数
- 命令:
watch 'netstat -an | grep:21 | \ grep <模拟攻击客户机的 IP>| wc -l'
实例 4:监测当前目录中 scf' 的文件的变化
- 命令:
watch -d 'ls -l|grep scf'
实例 5:10 秒一次输出系统的平均负载命令:
watch -n 10 `cat /proc/loadavg`;