亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來(lái)到小浪云!


如何使用 Linux 上的 watch 命令定期運(yùn)行程序


有時(shí)候,您可能需要反復(fù)執(zhí)行命令或程序來(lái)監(jiān)視系統(tǒng)的各個(gè)方面,比如正在運(yùn)行的進(jìn)程、磁盤(pán)空間使用情況或用戶(hù)登錄情況。linux中的watch命令可以讓您自動(dòng)執(zhí)行這些任務(wù),而無(wú)需手動(dòng)一遍又一遍地運(yùn)行它們。

使用watch命令,您可以實(shí)時(shí)監(jiān)視系統(tǒng)活動(dòng),比如用戶(hù)登錄、網(wǎng)絡(luò)狀態(tài)、內(nèi)存和CPU使用情況、磁盤(pán)空間等。下面讓我們看看如何在Linux中使用watch命令。

什么是watch命令?watch命令在Linux中以固定時(shí)間間隔反復(fù)運(yùn)行指定的命令或程序,并在終端中顯示其輸出。這使您能夠?qū)崟r(shí)觀察輸出的變化。它會(huì)在每個(gè)時(shí)間間隔刷新輸出,覆蓋上一個(gè)輸出。默認(rèn)情況下,該命令每?jī)擅胫貜?fù)一次,直到您使用Ctrl + C手動(dòng)停止它。

watch命令的語(yǔ)法

watch命令的語(yǔ)法如下:

watch?選項(xiàng)? 

有各種可用于watch命令的命令行選項(xiàng)。如果您運(yùn)行watch命令而沒(méi)有任何選項(xiàng),它將每隔兩秒運(yùn)行一次指定的命令。例如,以下命令將顯示ls命令的輸出:

watch?ls?-l?~/ 

如何使用 Linux 上的 watch 命令定期運(yùn)行程序

輸出將顯示目錄列表中的更改,如果創(chuàng)建了文件、刪除了文件或文件大小發(fā)生變化,它將每?jī)擅胨⑿乱淮屋敵觥?/p>

使用watch命令每隔X秒運(yùn)行一個(gè)命令

您可以更改watch命令的更新間隔。這意味著您可以告訴watch命令在重復(fù)命令之前等待X秒。要更改更新間隔,請(qǐng)使用-n選項(xiàng),后面跟隨以秒為單位的時(shí)間間隔。

watch?-n 

例如,要每隔5秒運(yùn)行一次命令,請(qǐng)運(yùn)行:

watch?-n?5?command> 

突出顯示更新之間的變化

watch命令會(huì)在每次刷新時(shí)覆蓋其輸出。使用-d選項(xiàng),您還可以突出顯示先前輸出和更新后輸出之間的變化。

watch?-d 

隱藏watch命令輸出中的標(biāo)題

默認(rèn)情況下,watch命令在每個(gè)輸出的頂部顯示一個(gè)標(biāo)題,其中包含更新間隔、命令名稱(chēng)以及系統(tǒng)的當(dāng)前日期和時(shí)間。您可以使用-t選項(xiàng)從輸出中刪除標(biāo)題:

watch?-t?command> 

在錯(cuò)誤時(shí)播放蜂鳴聲

當(dāng)Linux進(jìn)程完成運(yùn)行時(shí),它會(huì)返回一個(gè)退出代碼。按照慣例,成功時(shí)該值為0,非零表示錯(cuò)誤。watch命令的-b選項(xiàng)會(huì)在命令返回非零退出代碼時(shí)播放蜂鳴聲。

假設(shè)您想要監(jiān)視sshd.service,并在服務(wù)停止時(shí)收到通知,您可以使用:

watch?-b?sudo?systemctl?status?sshd.service 

該命令將在服務(wù)停止時(shí)發(fā)出蜂鳴聲。當(dāng)服務(wù)恢復(fù)運(yùn)行時(shí),蜂鳴聲將停止。要使用此功能,您必須在系統(tǒng)上安裝了beep軟件包。

在輸出更改時(shí)退出watch命令

您還可以告訴watch命令在命令的輸出更改時(shí)停止運(yùn)行并退出。您可以使用-g選項(xiàng)來(lái)實(shí)現(xiàn)這一點(diǎn)。在等待輸出中的某些變化時(shí),此選項(xiàng)非常有用。

一旦輸出發(fā)生變化,watch命令將停止。您可以將此用法與echo命令結(jié)合使用,以在屏幕上顯示消息。

例如,考慮一個(gè)場(chǎng)景,您正在等待一個(gè)文件出現(xiàn)在您的目錄中。以下命令將監(jiān)視指定文件的目錄。一旦出現(xiàn),watch命令將停止運(yùn)行,并且終端上將顯示消息”file arrived“。

watch?-g?"ls?-l?|?grep?filename"?&&?echo?"file?arrived" 

如何使用 Linux 上的 watch 命令定期運(yùn)行程序

另一個(gè)有用的示例是在特定用戶(hù)登錄到系統(tǒng)時(shí)進(jìn)行通知:

watch?-g?"who?|?grep?username"?&&?echo?"username?logged?in" 

此命令將監(jiān)視who命令的輸出,該命令列出已登錄的用戶(hù)。一旦用戶(hù)登錄,watch命令將停止并在終端上顯示消息。

類(lèi)似地,您可以告訴watch命令在文件中進(jìn)行更改時(shí)停止服務(wù)。請(qǐng)注意,在使用一系列命令的管道鏈時(shí),您需要將整個(gè)命令括在引號(hào)內(nèi)。

監(jiān)視Linux系統(tǒng)中的活動(dòng)

如果您發(fā)現(xiàn)自己反復(fù)執(zhí)行相同的流程,請(qǐng)考慮使用watch命令來(lái)自動(dòng)化它。這可以使您免于頻繁鍵入命令以查看發(fā)生了什么變化。

您還可以將watch命令與其他Linux命令一起使用,以監(jiān)視系統(tǒng)資源和活動(dòng),并跟蹤文件或目錄中的更改。

相關(guān)閱讀