巧用watch 和 tail 命令監視 Linux 上的活動
watch 和 tail 命令可以幫助監視 Linux 系統上的活動。本文介紹了這兩個命令的一些有用的使用方法。
watch 和 tail 命令為持續監視 Linux 系統上的活動提供了一些有趣的選項。
也就是說,你可以透過 watch 來顯示誰已登入,並隨著使用者登入和登出不斷更新,而不是僅僅提出問題並獲得答案(例如詢問 who 並獲取當前登入使用者的列表)。
使用 tail,你可以顯示檔案的底部並在新增內容時檢視內容。這種監控一般非常有用,並且比定期執行命令所需的工作更少。
使用 watch 的最簡單示例之一是使用命令 watch who。你會看到一個列表,其中顯示了誰登入了,以及他們登入的時間和登入位置。請注意,預設設定是每兩秒更新一次顯示(左上角),日期和時間(右上角)將按該間隔自行更新。使用者列表將隨著使用者登入和登出而增長和縮小。
$ watch who
此命令將顯示如下所示的登入列表:
Every 2.0s: who dragonfly: Thu Feb 27 10:52:00 2020 nemo pts/0 2020-02-27 08:07 (192.168.0.11) shs pts/1 2020-02-27 10:58 (192.168.0.5)
你可以透過新增 -n 選項(例如 -n 10)來修改更新間的不同秒數,以修改更新間隔,從而獲取較少的更新頻率。
$ watch -n 10 who
上述命令將以新的間隔顯示,並且顯示的時間更新頻率較低,從而使顯示時間與所選間隔保持一致。
Every 10.0s: who dragonfly: Thu Feb 27 11:05:47 2020 nemo pts/0 2020-02-27 08:07 (192.168.0.11) shs pts/1 2020-02-27 10:58 (192.168.0.5)
如果你希望僅檢視命令的輸出,而不是標題(前 2 行),則可以透過新增 -t(無標題)選項來省略這些行。
$ watch -t who
然後,你的螢幕將顯示如下所示:
nemo pts/0 2020-02-27 08:07 (192.168.0.11) shs pts/1 2020-02-27 10:58 (192.168.0.5)
如果每次執行監視的命令時,輸出都是相同的,則只有標題行(如果未省略)會更改。其餘顯示的資訊將保持不變。
如果你希望 watch 命令在它正在監視的命令的輸出發生更新後立即退出,則可以使用 -g(將其視為“離開go away”)選項。例如,如果你只是在等待其他人開始登入系統,則可以選擇執行此操作。
你還可以使用 -d(差異differences)選項突出顯示顯示輸出中的更改。突出顯示只會持續一個間隔(預設為 2 秒),但有助於引起你對更新的注意。
下面是一個更復雜的示例,該示例使用 watch 命令顯示正在偵聽連線的服務及其使用的埠。雖然輸出不太可能更改,但它會提醒你任何新服務正在啟動或關閉。
$ watch 'sudo lsof -i -P -n | grep LISTEN'
值得注意的是,正在執行的命令需要用引號擴起來,以確保不會將 watch 命令的輸出傳送到 grep 命令。
使用 watch -h 命令將為你提供命令選項的列表。
$ watch -h Usage: watch [options] command Options: -b, --beep beep if command has a non-zero exit -c, --color interpret ANSI color and style sequences -d, --differences[=] highlight changes between updates -e, --errexit exit if command has a non-zero exit -g, --chgexit exit when output from command changes -n, --intervalseconds to wait between updates -p, --precise attempt run command in precise intervals -t, --no-title turn off header -x, --exec pass command to exec instead of "sh -c" -h, --help display this help and exit -v, --version output version information and exit
tail -f 命令與 watch 有一些相同之處。它也會在新增檔案時顯示檔案的底部和其他內容。你不必一次又一次地執行 tail 命令,而是執行一個命令並獲得可重複更新顯示檢視的結果。例如,你可以使用如下命令檢視系統日誌:
$ tail -f /var/log/syslog
某些檔案(如 /var/log/wtmp)不適合這種型別的處理,因為它們的格式不是普通文字檔案,但是透過組合 watch 和 tail,你可以獲得類似的結果,如下所示:
watch 'who /var/log/wtmp | tail -20'
無論有多少使用者仍處於登入狀態,此命令都將只顯示最近的 5 次登入。如果發生其他登入,顯示結果將新增一行記錄並刪除頂行記錄。
Every 60.0s: who /var/log/wtmp | tail -5 dragonfly: Thu Feb 27 12:46:07 2020 shs pts/0 2020-02-27 08:07 (192.168.0.5) nemo pts/1 2020-02-27 08:26 (192.168.0.5) shs pts/1 2020-02-27 10:58 (192.168.0.5) nemo pts/1 2020-02-27 11:34 (192.168.0.5) dory pts/1 2020-02-27 12:14 (192.168.0.5)
對你有時可能想要監視的資訊,無論監視程式、登入名還是系統資源,watch 和 tail -f 命令都可以提供自動更新檢視,從而使監視任務變得更加容易。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2894373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux head和tail命令LinuxAI
- linux tail 命令詳解LinuxAI
- Linux 基本命令 -------- tail 的使用LinuxAI
- linux 中head tail 命令LinuxAI
- Linux中tail命令的使用詳解!LinuxAI
- tail命令AI
- 監控 Linux 伺服器活動的幾個命令Linux伺服器
- 每天一個 Linux 命令(15):tail 命令LinuxAI
- Linux 常用檢視日誌命令 tail、head、cat、more、lessLinuxAI
- Linux命令4-head / tailLinuxAI
- linux tail命令的使用方法詳解LinuxAI
- linux watch命令Linux
- Windows 下 tail 檢視日誌命令工具WindowsAI
- linux 環境下檢視日誌最常用的命令(tail)含例項LinuxAI
- Linux基礎命令---tail顯示文字LinuxAI
- Zookeeper的基本命令詳解和ACL和watch監聽機制
- Windows下tail命令WindowsAI
- 【轉載】linux tail命令的使用方法詳解LinuxAI
- linux上檢視埠使用的命令Linux
- 016、Vue3+TypeScript基礎,使用watch監視和結束監視VueTypeScript
- 巧用watch命令執行迴圈操作,來解放我們的雙手
- UNIX和linux系統效能監控工具oswatcherLinux
- 巧用Linux字元終端命令(轉)Linux字元
- Apache和Spring提供的StopWatch執行時間監視器ApacheSpring
- Linux基礎命令—tmpwatchLinux
- Linux基礎命令---tmpwatchLinux
- 設定webstorm的file watch 監視scss檔案WebORMCSS
- 每天一個 Linux 命令(48): watch 命令Linux
- 每天一個linux命令(48):watch命令Linux
- tail命令學習例項AI
- Linux基礎命令—arpwatchLinux
- Linux基礎命令---arpwatchLinux
- linux命令大全-linux命令使用和管理視訊教程Linux
- 前端學習-vue影片學習006-watch監視、watchEffect前端Vue
- Linux基礎命令---間歇執行命令watchLinux
- 用於測量磁碟活動的 Linux 命令Linux
- 常用命令 ---tail-catAI
- 017、Vue3+TypeScript基礎,使用watch監視時透過deep和immediate進行深度監視和立即執行VueTypeScript