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