linux watch 命令
watch 命令簡介
在 Linux 系統(tǒng)中,watch 是一個(gè)非常實(shí)用的命令行工具,它可以按照設(shè)定的時(shí)間間隔重復(fù)執(zhí)行某個(gè)命令,并將結(jié)果以全屏方式展示。這個(gè)工具非常適合用于持續(xù)監(jiān)控系統(tǒng)運(yùn)行狀態(tài)、文件內(nèi)容變化或其他需要實(shí)時(shí)觀察的場景。
watch 命令的基礎(chǔ)格式
watch [參數(shù)] 命令
常用參數(shù)說明
參數(shù) | 功能描述 | 使用示例 |
---|---|---|
`-n` 或 `–interval` | 定義刷新間隔時(shí)間(單位為秒),默認(rèn)是2秒 | `watch -n 5 date` |
`-d` 或 `–differences` | 突出顯示每次刷新之間的不同之處 | `watch -d ls -l` |
`-t` 或 `–no-title` | 隱藏頂部的時(shí)間、命令和刷新頻率信息 | `watch -t free -h` |
`-b` 或 `–beep` | 當(dāng)命令返回非零退出碼時(shí)發(fā)出提示音 | `watch -b ping example.com` |
`-e` 或 `–errexit` | 如果命令出錯(cuò)則停止更新并退出 | `watch -e ./check_status.sh` |
`-g` 或 `–chgexit` | 一旦命令輸出發(fā)生變化就終止執(zhí)行 | `watch -g ls -l` |
`-c` 或 `–color` | 識別 ANSI 顏色和格式代碼 | `watch -c ‘ls –color=always’` |
具體應(yīng)用場景
實(shí)時(shí)查看內(nèi)存使用情況
watch -n 1 free -h
該命令每秒刷新一次內(nèi)存使用狀態(tài),其中 -h 參數(shù)使數(shù)據(jù)更直觀易懂。
跟蹤目錄內(nèi)文件變動
watch -d 'ls -l /var/log'
通過 -d 參數(shù)可以高亮顯示文件列表的變化,適合用來監(jiān)控日志目錄內(nèi)容更新。
監(jiān)控網(wǎng)絡(luò)連接狀態(tài)
watch -n 0.5 'netstat -tulnp | grep 80'
每隔0.5秒檢查一次 80 端口的連接狀況。
查看 CPU 溫度變化
watch -n 2 'sensors | grep Core'
每兩秒讀取一次 CPU 核心溫度信息。
進(jìn)階使用方法
同時(shí)執(zhí)行多個(gè)命令
watch 'date; echo; df -h'
利用分號分隔多個(gè)命令,echo 可以在輸出之間插入空行。
監(jiān)控特定用戶的進(jìn)程活動
watch 'ps -u username -o pid,cmd,%cpu,%mem --sort=-%cpu'
實(shí)時(shí)查看指定用戶正在運(yùn)行的進(jìn)程,并按 CPU 占用排序。
結(jié)合管道與重定向操作
watch 'dmesg | tail -20 > /tmp/dmesg.log; cat /tmp/dmesg.log'
雖然 watch 不直接支持管道,但可通過中間文件實(shí)現(xiàn)復(fù)雜操作。
使用建議
- 結(jié)束運(yùn)行:按下 Ctrl+C 即可終止 watch 進(jìn)程
- 刷新頻率控制:過于頻繁的刷新(如 0.1 秒)可能會增加系統(tǒng)負(fù)擔(dān)
- 命令長度限制:太長的命令會影響閱讀體驗(yàn),推薦封裝成腳本調(diào)用
- 顏色輸出問題:部分命令需添加額外參數(shù)才能保持色彩,例如 ls –color=always
類似工具對比
工具 | 主要特性 | 適用場合 |
---|---|---|
watch | 簡單直觀,屏幕整體刷新 | 持續(xù)觀察命令輸出變化 |
tail -f | 動態(tài)追蹤文件新增內(nèi)容 | 日志文件增長監(jiān)測 |
tmux + 循環(huán)命令 | 具備多窗口管理能力 | 多種監(jiān)控任務(wù)并行處理 |
htop | 圖形化交互式資源監(jiān)控 | 系統(tǒng)性能分析 |
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END