溫馨提示×

溫馨提示×

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

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

巧用watch命令執(zhí)行循環(huán)操作,來解放我們的雙手

發(fā)布時間:2020-08-07 08:27:22 來源:ITPUB博客 閱讀:116 作者:夢共里醉 欄目:建站服務器

有時候我們需要重復執(zhí)行某個 命令 ,觀察某個文件和某個結果的變化情況。可以寫 腳本 去實現(xiàn)這些需求,但是有更簡單的方法,本文檔要介紹的就是watch 命令 。

1. 以固定時間反復執(zhí)行某個命令

root@jaking-virtual-machine:~# watch -n 1 cat hello.txt

Every 1.0s: cat hello.txt                                                                   

jaking-virtual-machine: Tue Mar 19 19:13:33 2019

Hello World!

Hello Jaking!

2. 高亮變化內容

root@jaking-virtual-machine:~# watch -d uptime  #為了突出變化部分,可以使用 -d(difference)參數(shù)。

Every 2.0s: uptime                                                                         

jaking-virtual-machine: Tue Mar 19 19:14:01 2019

19:14:01 up 3 days, 12:53,  2 users,  load average: 0.01, 0.01, 0.00

(這里省略,變化內容會高亮,非常便于觀察)

3. 執(zhí)行出錯時退出

root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt    #運行某個命令,當退出碼不是0時,即命令執(zhí)行出錯時就結束,可以使用 -e(errexit)參數(shù)。

Every 1.0s: cat hello.txt                                                                 

jaking-virtual-machine: Tue Mar 19 19:16:49 2019

打開另一個終端,執(zhí)行mv操作,可以看到效果:

root@jaking-virtual-machine:~# mv hello.txt /tmp

#新終端

root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt

#舊終端

Every 1.0s: cat hello.txt                                                                 

jaking-virtual-machine: Tue Mar 19 19:16:49 2019

cat: hello.txt: No such file or directory

4. 執(zhí)行結果變化時退出

root@jaking-virtual-machine:~# watch -n 1 -g 'du -b hello.txt'                                                                           

Every 1.0s: du -b hello.txt                                                               

jaking-virtual-machine: Tue Mar 19 19:23:41 2019

27      hello.txt

打開另一個終端執(zhí)行echo操作,可以看到效果:

root@jaking-virtual-machine:~# echo "watch -n -l -g command" >> hello.txt

#新終端

root@jaking-virtual-machine:~# watch -n 1 -g 'du -b hello.txt' 

#舊終端                                                                         

Every 1.0s: du -b hello.txt                                                               

jaking-virtual-machine: Tue Mar 19 19:21:55 2019

50      hello.txt

#此時watch -n 1 -g 'du -b hello.txt'運行結束

root@jaking-virtual-machine:~#


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