头图

简介

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 -fwatch 更合适

观察CPU动态频率

 watch -n1 'grep "^cpu MHz" /proc/cpuinfo | sort -nrk4'

唐青枫
25 声望4 粉丝