linux watch命令介绍

一,watch命令是什么

watch-定期执行程序,全屏显示输出

#帮助文档
http://man.he.net/man1/watch

watch重复运行命令,显示其输出和错误(第一个屏幕完整)。这允许您观察程序输出的变化随着时间的推移。默认情况下,命令每2秒运行一次,手表将运行直到中断

二,watch帮助信息

选项
       -d, --differences [permanent]
              突出显示连续更新之间的差异。Option将读取更改突出显示为永久的可选参数,允许查看自第一次迭代以来至少更改过一次的内容。
       -n, --interval seconds
              指定更新间隔。该命令将不允许超过0.1秒的间隔,在该间隔中较小的值将被转换。两者都“。”和','适用于任何地区。
       -p, --precise
              使手表每隔几秒尝试运行一次命令。用ntptime试试,注意分数秒是如何保持(几乎)不变的,而不是持续增加的正常模式。
       -t, --no-title
              关闭显示顶部显示间隔、命令和当前时间的标题,以及以下空白行。       
       -b, --beep
              如果命令有非零出口,则发出蜂鸣声。
       -e, --errexit
              出现命令错误时冻结更新,然后按键后退出。
       -g, --chgexit
              命令输出发生变化时退出.
       -c, --color
              解释ANSI颜色和样式序列.
       -x, --exec
              将命令传递给exec(2)而不是sh-c,这样就不需要使用额外的引号来获得所需的效果。
       -h, --help
              显示帮助文本并退出
       -v, --version
              显示版本信息并退出

XIT STATUS
              0      成功.
              1      各种故障.
              2      将进程分叉到监视失败。
              3      用写入端管道替换子进程stdout失败
              4      命令执行失败.
              5      关闭子进程写入管道失败.
              7      IPC管道创建失败.
              8      获取waitpid为(2)的子进程返回值失败,或者出现错误时命令退出.
              other  监视会将命令退出状态传播为子退出状态

三,例子

先看看在线文档给出的例子

1,要查看目录更改的内容,可以使用

watch -d ls -l

2,如果您只对用户joe拥有的文件感兴趣,您可以使用

watch -d 'ls -l | grep 111'
touch 111  #新一个终端运行,可以看到watch命令的变比

3,要想看看引用的效果,试试这些

watch echo $$  #echo $$ 获取当前进程id
watch echo '$$'
watch echo "'"'$$'"'"

4,要查看精确计时的效果,请尝试将-p添加到


watch -n 10 sleep 1

5,监视管理员安装最新的内核


watch uname -r

请注意,-p不能保证在重新启动时工作,尤其是在ntpdate或其他启动时间更改机制的正面

6,每隔2秒查看系统进程占用情况:

watch -n 2 ps aux

7,每隔10秒查看磁盘空间使用情况:

watch -n 10 df -h

8,每隔3秒查看当前目录下文件数量:

watch -n 3 'ls | wc -l'

在上述例子中,-n选项指定了监控间隔时间,后面的参数是要监控的命令或脚本。watch命令默认会在终端上循环显示监控结果,直到用户手动中断或按下Ctrl+C。

四,总结

很多命令能和watch组合,需要大家自己去尝试,watch命令不算常用,同时也很重要,对于很多终端监控来说很实用。

posted @ 2023-07-21 15:48  寻梦99  阅读(604)  评论(0)    收藏  举报