watch 简介
watch可以帮你监测一个命令的运行结果,省的你一遍遍的手动运行,在Linux下,watch是周期性的执行下个程序,并全屏显示执行的结果。你可以拿它来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了。
参数
1.命令格式
watch[]参数[命令]
2.命令功能
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令
3.命令参数
-n或–interval watch 缺省每2秒运行一下程序,多用于周期性执行命令/定时执行命令。
-d或-differences 用 -d 或–differences选项watch 会高亮显示变化的区域。而-d = cumulative 选项会把变动过的地方(不管最近的那次有没有变动)都会高亮显示出来。
-t或-no-title 会关闭watch 命令在顶部的时间间隔命令,
4.使用实例
实例1:每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d netstat -ant
实例2:每隔一秒高亮显示命令链接数的变化情况
watch -n 1 -d ' pstree | grep http '
每隔一秒高亮显示http 链接数的变化情况,后面接的命令若带有管道符,需要加“将命令区域归整”。
实例3:实时查看模拟攻击客户机建立起来的链接数
watch 'netstat -an | grep:21 | \grep<模拟攻击客户机的IP> wc -1'
实例4:检测当前目录中 scf ‘ 的文件的变化
watch -d ' ls -l | grep scf '
实例5:10秒一次输出系统的平均负载
watch -n 10 ' cat /proc/loadavg'
实例6: 执行出错时退出
root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt
#运行某个命令,当退出码不是0时,即命令执行出错时就结束,可以使用 -e(errexit)参数。
实例7: 执行结果变化时退出
watch -n 1 -g 'du -b hello.txt'