手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

使用watch和tail命令查看Linux上的活動(dòng)

2024-08-20 16:29:20 5859

使用watch和tail命令查看Linux上的活動(dòng)


藍(lán)隊(duì)云小課堂:


watch和tail命令可以幫助監(jiān)視Linux系統(tǒng)上的活動(dòng)。

watch和tail命令為持續(xù)監(jiān)視Linux系統(tǒng)上的活動(dòng)提供了一些有效的選項(xiàng)。

也就是說(shuō),你可以通過watch來(lái)顯示誰(shuí)已登錄,并隨著用戶登錄和注銷不斷更新,而不是僅僅提出問題并獲得答案(例如詢問who并獲取當(dāng)前登錄用戶的列表)。

使用tail,你可以顯示文件的底部并在添加內(nèi)容時(shí)查看內(nèi)容。這種監(jiān)控一般非常有用,并且比定期運(yùn)行命令所需的工作更少。


使用 watch 命令

使用watch的最簡(jiǎn)單示例之一是使用命令watch who。你會(huì)看到一個(gè)列表,其中顯示了誰(shuí)登錄了,以及他們登錄的時(shí)間和登錄位置。請(qǐng)注意,默認(rèn)設(shè)置是每?jī)擅敫乱淮物@示(左上角),日期和時(shí)間(右上角)將按該間隔自行更新。用戶列表將隨著用戶登錄和注銷而增長(zhǎng)和縮小。

$ 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 選項(xiàng)(例如 -n 10)來(lái)修改更新間的不同秒數(shù),以修改更新間隔,從而獲取較少的更新頻率。

$ watch -n 10 who

上述命令將以新的間隔顯示,并且顯示的時(shí)間更新頻率較低,從而使顯示時(shí)間與所選間隔保持一致。

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)

如果你希望僅查看命令的輸出,而不是標(biāo)題(前2行),則可以通過添加 -t(無(wú)標(biāo)題)選項(xiàng)來(lái)省略這些行。

$ 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)

如果每次運(yùn)行監(jiān)視的命令時(shí),輸出都是相同的,則只有標(biāo)題行(如果未省略)會(huì)更改。其余顯示的信息將保持不變。

如果你希望 watch命令在它正在監(jiān)視的命令的輸出發(fā)生更新后立即退出,則可以使用 -g(將其視為“離開”)選項(xiàng)。例如,如果你只是在等待其他人開始登錄系統(tǒng),則可以選擇執(zhí)行此操作。

你還可以使用 -d(差異)選項(xiàng)突出顯示顯示輸出中的更改。突出顯示只會(huì)持續(xù)一個(gè)間隔(默認(rèn)為2秒),但有助于引起你對(duì)更新的注意。

下面是一個(gè)更復(fù)雜的示例,該示例使用 watch 命令顯示正在偵聽連接的服務(wù)及其使用的端口。雖然輸出不太可能更改,但它會(huì)提醒你任何新服務(wù)正在啟動(dòng)或關(guān)閉。

$ watch 'sudo lsof -i -P -n | grep LISTEN'

值得注意的是,正在運(yùn)行的命令需要用引號(hào)擴(kuò)起來(lái),以確保不會(huì)將 watch 命令的輸出發(fā)送到 grep 命令。

使用 watch -h 命令將為你提供命令選項(xiàng)的列表。

$ 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[=<permanent>]

                         highlight changes between updates

  -e, --errexit          exit if command has a non-zero exit

  -g, --chgexit          exit when output from command changes

  -n, --interval <secs>  seconds 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

tail -f 命令與 watch 有一些相同之處。它也會(huì)在添加文件時(shí)顯示文件的底部和其他內(nèi)容。你不必一次又一次地運(yùn)行 tail 命令,而是運(yùn)行一個(gè)命令并獲得可重復(fù)更新顯示視圖的結(jié)果。例如,你可以使用如下命令查看系統(tǒng)日志:

$ tail -f /var/log/syslog

某些文件(如 /var/log/wtmp)不適合這種類型的處理,因?yàn)樗鼈兊母袷讲皇瞧胀ㄎ谋疚募峭ㄟ^組合 watch 和 tail,你可以獲得類似的結(jié)果,如下所示:

watch 'who /var/log/wtmp | tail -20'

無(wú)論有多少用戶仍處于登錄狀態(tài),此命令都將只顯示最近的5次登錄。如果發(fā)生其他登錄,顯示結(jié)果將添加一行記錄并刪除頂行記錄。

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)

對(duì)你有時(shí)可能想要監(jiān)視的信息,無(wú)論監(jiān)視進(jìn)程、登錄名還是系統(tǒng)資源,watch 和 tail -f 命令都可以提供自動(dòng)更新視圖,從而使監(jiān)視任務(wù)變得更加容易。


更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: