当前位置:首页>Linux>Linux基础|watch 命令详解:实时监控的利器,你用对了吗?

Linux基础|watch 命令详解:实时监控的利器,你用对了吗?

  • 2026-10-21 13:27:34
Linux基础|watch 命令详解:实时监控的利器,你用对了吗?
在日常 Linux 使用和运维过程中,你一定遇到过这样的场景:
  • 想实时观察磁盘空间是否在变化
  • 监控某个进程是否还在运行
  • 查看日志文件是否不断增长
  • 等待某个条件满足后再执行操作
如果你还在反复敲 ls、df、ps,那说明你还没真正用好watch 命令。
本文将带你系统掌握 watch 的使用方法,让“实时监控”这件事变得优雅又高效。

一、watch 命令是干什么的?

watch 的作用只有一句话:定期执行一个命令,并实时显示结果变化。
它本质上就是一个“自动帮你反复执行命令并刷新屏幕”的工具,非常适合做临时监控和观察状态变化。

二、watch 的安装

在大多数 Linux 发行版中,watch 默认已经安装。
如果没有,可以手动安装:
sudo apt install procps # Debian / Ubuntusudo yum install procps-ng # CentOS/RedHat
安装完成后,直接使用:
watch ls

三、最基本的用法

1️⃣ 默认用法

watch df -h
含义:每2 秒执行一次 df -h
自动刷新屏幕
高亮显示变化部分
这是最经典、也是最常用的用法。

2️⃣ 指定刷新间隔(-n)

watch -n 5 free -m
表示每 5 秒刷新一次内存使用情况。

四、watch 的常用参数

1️⃣ -n:刷新间隔

watch -n 1 date
适合观察时间、计数变化。

2️⃣ -d:高亮变化(非常实用)

watch -d ls -l
变化的内容会被高亮显示,非常适合排查问题。

3️⃣ -t:关闭标题行

默认情况下,watch 会显示标题和时间戳。
watch -t uptime
适合做截图或嵌入脚本输出。

五、watch 在运维中的典型使用场景

1️⃣ 监控磁盘空间变化

watch -n 2 df -h /data
适合:
数据导入
日志增长
备份过程监控

2️⃣ 观察某个进程是否存在

watch "ps aux | grep nginx | grep -v grep"
适合快速确认服务是否存活。

3️⃣ 实时查看文件大小变化

watch ls -lh access.log
在分析日志写入情况时非常有用。

六、watch + 管道:威力翻倍

watch 并不是只能执行“单个命令”,
它可以配合管道使用,威力非常强。
示例:监控 TCP 连接数
watch "netstat -an | grep ESTABLISHED | wc -l"
实时观察当前系统的连接数量。

七、watch 与 grep、awk 的组合

示例:监控某个关键字出现次数
watch "grep ERROR app.log | wc -l"
用于观察错误是否持续增长。

示例:只显示关键信息
watch "ps aux | awk '{print \$1, \$2, \$11}'"
⚠️ 注意:
在 watch 中使用 awk,需要对 $ 进行转义。

八、watch 的一些小技巧

1️⃣ 使用引号包住复杂命令

watch "ls -lh | sort -k5 -h"
避免 shell 解析出错。

2️⃣ watch 不是日志工具

watch 只适合:
临时观察
实时查看
不适合:
长期监控
日志留存
长期监控请使用 Prometheus、Zabbix 等工具。

3️⃣ 退出 watch

直接按:
Ctrl + C

九、watch 的使用建议

临时监控优先考虑 watch
复杂监控配合管道
刷新间隔不要太小(避免资源浪费)
不要用 watch 代替专业监控系统

十、写在最后

watch 是一个非常小,但非常实用的 Linux 工具。
它不会替代复杂的监控系统,但在日常排查、观察状态变化时,几乎无可替代。如果你经常在终端里“反复敲同一条命令”,那你真的该试试 watch 了。
把重复的事交给工具,才是 Linux 的正确用法。
关注我,更多linux使用技巧和你一起分享!

最新文章

随机文章