
在 Linux 系统中,watch 是一个非常实用的命令行工具,它可以按照设定的时间间隔重复执行某个命令,并将结果以全屏方式展示。这个工具非常适合用于持续监控系统运行状态、文件内容变化或其他需要实时观察的场景。
<code>watch [参数] 命令</code>
| 参数 | 功能描述 | 使用示例 |
|---|---|---|
| `-n` 或 `--interval` | 定义刷新间隔时间(单位为秒),默认是2秒 | `watch -n 5 date` |
| `-d` 或 `--differences` | 突出显示每次刷新之间的不同之处 | `watch -d ls -l` |
| `-t` 或 `--no-title` | 隐藏顶部的时间、命令和刷新频率信息 | `watch -t free -h` |
| `-b` 或 `--beep` | 当命令返回非零退出码时发出提示音 | `watch -b ping example.com` |
| `-e` 或 `--errexit` | 如果命令出错则停止更新并退出 | `watch -e ./check_status.sh` |
| `-g` 或 `--chgexit` | 一旦命令输出发生变化就终止执行 | `watch -g ls -l` |
| `-c` 或 `--color` | 识别 ANSI 颜色和格式代码 | `watch -c 'ls --color=always'` |
<code>watch -n 1 free -h</code>
该命令每秒刷新一次内存使用状态,其中 -h 参数使数据更直观易懂。
<code>watch -d 'ls -l /var/log'</code>
通过 -d 参数可以高亮显示文件列表的变化,适合用来监控日志目录内容更新。
<code>watch -n 0.5 'netstat -tulnp | grep 80'</code>
每隔0.5秒检查一次 80 端口的连接状况。
<code>watch -n 2 'sensors | grep Core'</code>
每两秒读取一次 CPU 核心温度信息。
<code>watch 'date; echo; df -h'</code>
利用分号分隔多个命令,echo 可以在输出之间插入空行。
<code>watch 'ps -u username -o pid,cmd,%cpu,%mem --sort=-%cpu'</code>
实时查看指定用户正在运行的进程,并按 CPU 占用排序。
<code>watch 'dmesg | tail -20 > /tmp/dmesg.log; cat /tmp/dmesg.log'</code>
虽然 watch 不直接支持管道,但可通过中间文件实现复杂操作。
Ctrl+C 即可终止 watch 进程ls --color=always
| 工具 | 主要特性 | 适用场合 |
|---|---|---|
| watch | 简单直观,屏幕整体刷新 | 持续观察命令输出变化 |
| tail -f | 动态追踪文件新增内容 | 日志文件增长监测 |
| tmux + 循环命令 | 具备多窗口管理能力 | 多种监控任务并行处理 |
| htop | 图形化交互式资源监控 | 系统性能分析 |
以上就是linux watch 命令-定时执行并监视命令输出的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号