watch命令的使用

watch解放你的双手

Posted by BenderFly on March 30, 2019

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'