Linux實時監控系統變化的一個命令:watch 頂 原

watch是一個非常實用的命令,基本所有的Linux發行版都帶有這個小工具,如同名字一樣,watch可以幫你監測一個命令的運行結果,省得你一遍遍的手動運行。在Linux下,watch是週期性的執行下個程序,並全屏顯示執行結果。你可以拿他來監測你想要的一切命令的結果變化,比如 tail 一個 log 文件,ls 監測某個文件的大小變化,看你的想象力了!

1.命令格式:

watch[參數][命令]

2.命令功能:

可以將命令的輸出結果輸出到標準輸出設備,多用於週期性執行命令/定時執行命令

3.命令參數:

-n或--interval watch缺省每2秒運行一下程序,可以用-n或-interval來指定間隔的時間。

-d或--differences 用-d或--differences 選項watch 會高亮顯示變化的區域。 而-d=cumulative選項會把變動過的地方(不管最近的那次有沒有變動)都高亮顯示出來。

-t 或-no-title 會關閉watch命令在頂部的時間間隔,命令,當前時間的輸出。

-h, --help 查看幫助文檔

4.使用實例:

實例1:

命令:每隔一秒高亮顯示網絡鏈接數的變化情況

watch -n 1 -d netstat -ant
說明:

其它操作:
切換終端: Ctrl+x
退出watch:Ctrl+g

實例2:每隔一秒高亮顯示http鏈接數的變化情況

命令:

watch -n 1 -d 'pstree|grep http'

說明:

每隔一秒高亮顯示http鏈接數的變化情況。 後面接的命令若帶有管道符,需要加''將命令區域歸整。

實例3:實時查看模擬攻擊客戶機建立起來的連接數

命令:

watch 'netstat -an | grep:21 | \ grep<模擬攻擊客戶機的IP>| wc -l'

說明:

實例4:監測當前目錄中 scf' 的文件的變化

命令:

watch -d 'ls -l|grep scf'

實例5:10秒一次輸出系統的平均負載

命令:

watch -n 10 'cat /proc/loadavg'

 

 

 

實例5:5秒一次輸出oracle數據庫連接數,以及等待事件

創建一個文件:test.sh

sqlplus / as sysdba <<eof
select count(*) from v\$session;

select sid,event from v\$session_wait where wait_class<>'Idle';

quit

eof

 

chmod +x test.sh

 

watch -n 5 ./test.sh

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章