Linux watch 命令
Linux 命令大全
什么是 watch 命令
watch 是 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端口的网络连接情况。
监控CPU温度
watch -n 2 'sensors | grep Core'
每2秒显示一次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:按 Ctrl+C 即可退出watch命令
刷新频率:设置过低的间隔(如0.1秒)可能导致系统负载过高
命令长度:过长的命令可能影响可读性,考虑使用脚本替代
颜色支持:某些命令需要额外参数才能保持颜色输出,如 ls --color=always
替代方案比较
工具
特点
适用场景
watch
简单易用,全屏刷新
需要持续监控命令输出
tail -f
实时跟踪文件变化
监控日志文件增长
tmux + 循环命令
更灵活,可多窗口
复杂监控需求
htop
交互式系统监控
系统资源监控
Linux 命令大全