偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

命令行生存指南:監(jiān)視命令輸出

系統(tǒng) Linux
有時候需要不斷的執(zhí)行某個命令并追蹤其輸出產(chǎn)生的變化情況。一種常見的方法是通過寫一段死循環(huán)的 shell 腳本來實現(xiàn),不過 Linux 本身已經(jīng)提供了一個工具來幫你定期執(zhí)行指定的程序并將結(jié)果全屏輸出,本節(jié)將會介紹該工具。

[[349673]]

操作概述

有時候需要不斷的執(zhí)行某個命令并追蹤其輸出產(chǎn)生的變化情況。一種常見的方法是通過寫一段死循環(huán)的 shell 腳本來實現(xiàn),不過 Linux 本身已經(jīng)提供了一個工具來幫你定期執(zhí)行指定的程序并將結(jié)果全屏輸出,本節(jié)將會介紹該工具。

概念和術(shù)語

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

操作實戰(zhàn)

場景一:使用 watch 定期執(zhí)行命令并監(jiān)視輸出

難度
演示用發(fā)行版 Ubuntu
涉及命令 watch
watch 的基本用法

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

  1. watch 命令

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

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

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

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

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

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

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

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

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

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

  1. watch -d -n 10 date

 

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

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

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

  1. watch -e wrong_commands

 

小練習

  • 嘗試使用 watch 監(jiān)控工程目錄,并結(jié)合其他工具實現(xiàn)自動編譯。

 

 

責任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2020-11-05 09:30:59

命令行Linux

2020-11-22 06:20:53

命令行Linux

2013-05-21 14:58:08

系統(tǒng)監(jiān)視glances開源

2025-08-05 07:52:41

man 命令Linux命令行

2014-08-25 16:23:24

2023-08-12 11:40:11

命令行生存

2020-07-30 13:34:48

終端命令行Linux

2025-07-23 09:06:00

2023-03-31 08:44:55

Go開發(fā)命令

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2009-12-25 16:04:06

shell命令行

2015-07-01 09:15:46

linuxQuora命令行

2009-12-23 14:14:09

Linux高級命令行

2015-11-25 14:03:29

LinuxMop股票

2025-08-05 07:26:06

2009-12-09 09:25:52

Linux命令行svn命令

2019-07-23 13:45:38

LinuxFedora權(quán)限

2010-11-24 15:33:59

mysql命令行參數(shù)

2010-08-20 10:05:23

用戶命令
點贊
收藏

51CTO技術(shù)棧公眾號