Linux watch 命令


簡介

Linux 中的watch 命令是一個強大的工具,它允許你定期執行程式,並在全屏顯示輸出。此命令重複執行指定的命令,並顯示其輸出和錯誤。預設情況下,指定的命令每兩秒執行一次,並且 watch 執行直到中斷。在本文中,我們將探討 watch 命令的各種選項和用法。

watch 命令的語法

watch 命令的基本語法如下:

$ watch [options] command

watch 命令有幾個選項可用於自定義其行為。這些包括:

  • -d, -differences − 此選項突出顯示連續更新之間的差異。這些選項將讀取可選引數,該引數將高亮顯示更改為永久顯示,允許使用者至少看到自第一次迭代以來發生了哪些更改。

  • -n, -interval seconds − 此選項將指定更新間隔。該命令不允許比 0.1 秒間隔更快,其中較小的值將被轉換。

  • -p, -precise − 此選項使 watch 嘗試每隔幾秒執行一次命令。

  • -t, -no-title − 此選項用於關閉顯示器頂部顯示間隔、命令和當前時間的標題。它還將關閉下面的空行。

  • -b, -beep − 如果命令具有非零退出狀態,此選項將發出蜂鳴聲。

  • -e, -errexit − 此選項將在命令錯誤時凍結更新,並在按鍵後退出。

  • -g, -chgexit − 此選項將在命令的輸出發生變化時退出。

  • -c, -color − 此選項解釋 ANSI 顏色和樣式序列。

  • -x, -exec − 此選項命令傳遞給 sh -c,這意味著您可能需要使用額外的引號才能獲得所需的效果。

watch 命令的用例

watch 命令有幾個用例,例如:

監控系統資源

watch 命令可用於監控系統資源,例如CPU 使用率、記憶體使用率和網路流量。這對於識別瓶頸和解決效能問題很有用。

$ watch -n 1 free -m

監控日誌檔案

watch 命令可用於即時監控日誌檔案。這對於識別錯誤和故障排除很有用。

$ watch -n 1 tail -f /var/log/syslog

watch 命令的高階用法

除了基本用法之外,watch 命令還有許多高階選項可用於自定義命令的輸出和行為。這些選項可用於突出顯示連續更新之間的差異,指定更新間隔,使 watch 嘗試每隔幾秒執行一次命令,關閉顯示器頂部顯示間隔、命令和當前時間的標題,如果命令具有非零退出狀態則發出蜂鳴聲,在命令錯誤時凍結更新,在命令的輸出發生變化時退出,解釋 ANSI 顏色和樣式序列,以及執行傳遞給“sh -c”的命令。

以下是watch 命令高階用法的幾個示例:

突出顯示差異 − -d 或 -differences 選項可用於突出顯示連續更新之間的差異。這些選項將讀取可選引數,該引數將高亮顯示更改為永久顯示,允許使用者至少看到自第一次迭代以來發生了哪些更改。

$ watch -d df

指定更新間隔 − -n 或 -interval seconds 選項可用於指定更新間隔。該命令不允許比 0.1 秒間隔更快,其中較小的值將被轉換。

$ watch -n 1 df

嘗試每隔幾秒執行一次命令 − -p 或 -precise 選項可用於使 watch 嘗試每隔幾秒執行一次命令。

$ watch -p df

關閉標題 − -t 或 -no-title 選項可用於關閉顯示器頂部顯示間隔、命令和當前時間的標題。它還將關閉下面的空行。

$ watch -t df

發出蜂鳴聲 − -b 或 -beep 選項可用於在命令具有非零退出狀態時發出蜂鳴聲。

$ watch -b df

在命令錯誤時凍結更新 − -e 或 -errexit 選項可用於在命令錯誤時凍結更新,並在按鍵後退出。

$ watch -e df

在命令的輸出發生變化時退出 − -g 或 -chgexit 選項可用於在命令的輸出發生變化時退出。

$ watch -g df

解釋 ANSI 顏色和樣式序列 − -c 或 -color 選項可用於解釋 ANSI 顏色和樣式序列。

執行傳遞給 sh -c 的命令 − -x 或 –exec 選項可用於執行傳遞給 sh -c 的命令,這意味著您可能需要使用額外的引號才能獲得所需的效果。

$ watch -x "free -m"

結論

在本文中,我們討論了 Linux 中的watch 命令及其各種選項。watch 命令是用於定期監控命令輸出的有用工具。該命令可以與各種選項一起使用以自定義輸出和行為,例如突出顯示差異、指定更新間隔以及在命令錯誤時退出。這對於即時監控系統資源、程序和網路活動特別有用。

更新於: 2023年2月13日

1K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告