Linux watch命令使用介绍


watch是Linux下周期性的执行某个命令并显示执行结果的非常使用的命令,结果是全屏显示,例如看cpu的动态负载,根据指定的间隔进行刷新,当然我们人工间隔查看cpu的结果是一样的,但我们需要人工操作,watch给我们解决了麻烦。可以watch监测一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,根据需要灵活组合即可。

1.命令格式


watch [参数][命令]

2.命令功能


多用于周期性的检测、监测、查看信息。例如cpu负载、网络连接状态。
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

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

输出:

Every 1.0s: netstat -ant                                                         VM-4-14-ubuntu: Wed Jul  6 15:35:03 2022

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 10.0.4.14:53            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 10.0.4.14:22            221.12.175.78:63921     ESTABLISHED
tcp        0      0 10.0.4.14:55496         169.254.0.55:5574       ESTABLISHED
tcp        0      0 10.0.4.14:22            221.12.175.78:63799     ESTABLISHED
tcp        0      0 10.0.4.14:53650         169.254.0.138:8086      ESTABLISHED
tcp6       0      0 fe80::5054:ff:fe5c:7:53 :::*                    LISTEN
tcp6       0      0 ::1:53                  :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:953                 :::*                    LISTEN
tcp6       0      0 :::111                  :::*                    LISTEN

执行后可看到右上方的时间在变动,内容变动的时候也会在刷新,退出watch:Ctrl+z。

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'

输出结果如下:

Every 3.0s: cat /proc/loadavg                                                    VM-4-14-ubuntu: Wed Jul  6 15:49:25 2022

0.01 0.01 0.00 1/184 1276430

Every 3.0s: cat /proc/loadavg                                                    VM-4-14-ubuntu: Wed Jul  6 15:49:37 2022

0.01 0.00 0.00 1/184 1276461

6:每秒显示系统时间

watch -n 1 uptime
Every 1.0s: uptime                                                               VM-4-14-ubuntu: Thu Jul  7 13:31:17 2022

 13:31:17 up 6 days, 23:48,  2 users,  load average: 0.00, 0.00, 0.00

左上角显示显示间隔,右上角是系统的时间,内容同步右上角每秒刷新

7:每2秒显示系统时间( 独立显示)

watch -t uptime
 13:34:03 up 6 days, 23:51,  2 users,  load average: 0.10, 0.04, 0.01

猜你喜欢

转载自blog.csdn.net/lanlangaogao/article/details/125640659