溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux如何監(jiān)視命令輸出

發(fā)布時間:2021-10-23 17:31:40 來源:億速云 閱讀:276 作者:小新 欄目:系統(tǒng)運維

小編給大家分享一下linux如何監(jiān)視命令輸出,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

概念和術(shù)語

在 shell 上執(zhí)行一個命令行時通常會自動打開三個標(biāo)準(zhǔn)文件,即標(biāo)準(zhǔn)輸入文件(stdin),通常對應(yīng)終端的鍵盤;標(biāo)準(zhǔn)輸出文件(stdout)和標(biāo)準(zhǔn)錯誤輸出文件(stderr),這兩個文件都對應(yīng)終端的屏幕。進(jìn)程將從標(biāo)準(zhǔn)輸入文件中得到輸入數(shù)據(jù),將正常輸出數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出文件,而將錯誤信息送到標(biāo)準(zhǔn)錯誤文件中。

操作實戰(zhàn)

場景一:使用 watch 定期執(zhí)行命令并監(jiān)視輸出
難度
演示用發(fā)行版Ubuntu
涉及命令watch
watch 的基本用法

watch 的使用方法很簡單,只需要:

watch 命令

就行了,這樣 watch 命令會每隔兩秒執(zhí)行一次 命令,并全屏輸出執(zhí)行結(jié)果。

下圖是執(zhí)行 watch date 的一個界面:

Every 2.0s: date                         orangepipc2: Sat Oct  3 09:55:14 2020 Sat 03 Oct 2020 09:55:14 AM CST

圖中第一行中的 Every 2.0s: 表示 watch 每隔 2 秒執(zhí)行一次命令。后面的 date 為要執(zhí)行的命令。再后面的 orangepipc2: 是執(zhí)行命令的主機(jī)名,Sat Oct 3 09:55:14 2020 為執(zhí)行命令的時間。

從第三行開始就是命令執(zhí)行的輸出結(jié)果。

指定重復(fù)執(zhí)行命令的間隔時間

通過 -n 間隔 你也可以設(shè)置重復(fù)執(zhí)行命令的間隔時間,比如我可以調(diào)整為每 5 秒中執(zhí)行一次 date 命令

watch -n 5 date
發(fā)現(xiàn)輸出中的變化

如果只是單純的重復(fù)執(zhí)行命令的話,那么可以很容易地通過 shell 循環(huán)來實現(xiàn),然而 watch 的能力不僅如此而已。

通過 -d 選項,watch 還能高亮顯示兩次輸出中不同的部分,這個功能相當(dāng)實用:

watch -d -n 10 date

linux如何監(jiān)視命令輸出

除了高亮顯示輸出中改變的部分外,你也可以設(shè)置讓 watch 發(fā)現(xiàn)結(jié)果有改變時退出循環(huán)執(zhí)行,方法是使用 -g/--chgexit 選項。例如我們可以通過下面命令來發(fā)現(xiàn) USB 變動情況。

watch -g 'dmesg |grep -i usb |tail'
檢測命令執(zhí)行的返回值

默認(rèn)情況下,watch 并不會關(guān)心命令的執(zhí)行結(jié)果是否成功,但你可以設(shè)置讓 watch 檢測命令的返回值,當(dāng)命令運行返回非 0 時發(fā)出蜂鳴(-b/--beep)或者直接退出(-e/--errexit)。

watch -e wrong_commands

linux如何監(jiān)視命令輸出

以上是“l(fā)inux如何監(jiān)視命令輸出”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI