简介
watch
命令会以固定间隔(默认每 2 秒)重复运行给定命令,并在终端上显示其输出。它非常适合监控不断变化的输出,例如磁盘使用情况、内存使用情况、文件更改、服务状态等。
基础语法
watch [options] command
常用选项
-n, --interval
:允许指定输出更新之间的间隔,单位:秒-d, --differences
:突出显示输出更新之间的差异-g, --chgexit
:当用户定义命令的输出发生变化时退出监视命令-t, --no-title
:删除显示间隔、命令和当前时间和日期的标题-b, --beep
:如果命令因错误退出,则播放声音警报(蜂鸣声)-p, --precise
:尝试在--interval
选项定义的精确秒数后运行命令-e, --errexit
:出现错误时停止输出更新并在按下按键后退出命令-c, --color
:解释ANSI
颜色和样式序列-x, --exec
:将用户定义的命令传递给exec
,减少额外引用的需要-w, --no-linewrap
:关闭换行并截断长行-h, --help
:显示帮助文本并退出-v, --version
:显示版本信息并退出
示例用法
每 5 秒显示一次系统时间和日期
watch -n 5 date
以默认的 2 秒间隔显示系统日期和时间,并突出显示更改
watch -d date
变更时退出
watch -g free
隐藏监视命令标头
watch -t date
用于用户自定义的复杂命令参数
- 使用
\
来换行
watch -n 5 \
echo "watch command example output"
- 使用引号括起来
watch -n 5 'echo "watch command example output"'
监控内存使用情况
watch -n 1 free -h
检查进程是否正在运行
watch pgrep nginx
观察 CPU 消耗最高的 5 个进程
watch -n 1 "ps -eo pid,comm,%cpu --sort=-%cpu | head -n 6"
监控文件夹文件数
watch "ls | wc -l"
突出显示更改
watch -d ifconfig
与 grep 结合以获得过滤输出
watch "ps aux | grep nginx"
使用颜色使其更具可读性
watch -c "ls --color=always"
监控日志
watch tail -n 20 /var/log/syslog
对于动态日志,tail -f
比 watch
更合适
观察CPU动态频率
watch -n1 'grep "^cpu MHz" /proc/cpuinfo | sort -nrk4'
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。