watch
是一個非常實用的命令,基本所有的Linux發行版都帶有這個小工具,如同名字一樣,watch
可以幫你監測一個命令的執行結果,省得你一遍遍的手動執行。在Linux下,watch
是周期性的執行下個程式,並全螢幕顯示執行結果。你可以拿他來監測你想要的一切命令的結果變化,比如 tail
一個 log
檔案,ls
監測某個檔案的大小變化,看你的想象力了!
watch[引數][命令]
可以將命令的輸出結果輸出到標準輸出裝置,多用於週期性執行命令/定時執行命令
-n
或--interval
watch預設每2秒執行一下程式,可以用-n或-interval來指定間隔的時間。-d
或—differences 用-d或—differences 選項watch 會高亮顯示變化的區域。 而-d=cumulative選項會把變動過的地方(不管最近的那次有沒有變動)都高亮顯示出來。-t
或-no-title 會關閉watch命令在頂部的時間間隔,命令,當前時間的輸出。-h
, —help 檢視幫助文件命令:每隔一秒高亮顯示網路連結數的變化情況
watch -n 1 -d netstat -ant
輸出結果:
Every 1.0s: netstat -ant Mon Feb 27 20:49:38 2017
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.210:22 192.168.0.5:51577 ESTABLISHED
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
說明:其它操作:
切換終端: Ctrl+x
退出watch
:Ctrl+g
命令:
watch -n 1 -d 'pstree|grep http'
說明:
每隔一秒高亮顯示http連結數的變化情況。 後面接的命令若帶有管道符,需要加’’將命令區域歸整。
命令:
watch 'netstat -an | grep:21 | \ grep<客戶機的IP>| wc -l'
命令:
watch -d 'ls -l|grep scf'
命令:
watch -n 10 'cat /proc/loadavg'
輸出結果如下:
Every 10.0s: cat /proc/loadavg Mon Feb 27 20:54:45 2017
0.01 0.04 0.05 1/132 6335