设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 825|回复: 1
收起左侧

巧用watch命令执行循环操作,来解放我们的双手

[复制链接]
发表于 2019-4-17 22:43:45 | 显示全部楼层 |阅读模式
有时候我们需要重复执行某个命令,观察某个文件和某个结果的变化情况。可以写脚本去实现这些需求,但是有更简单的方法,本文档要介绍的就是watch命令
1. 以固定时间反复执行某个命令
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 2019Hello World!Hello Jaking!2. 高亮变化内容
root@jaking-virtual-machine:~# watch -d uptime   #为了突出变化部分,可以使用 -d(difference)参数。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. 执行出错时退出
root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt    #运行某个命令,当退出码不是0时,即命令执行出错时就结束,可以使用 -e(errexit)参数。Every 1.0s: cat hello.txt                                                                  jaking-virtual-machine: Tue Mar 19 19:16:49 2019

打开另一个终端,执行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 2019cat: hello.txt: No such file or directory4. 执行结果变化时退出
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 201927      hello.txt

打开另一个终端执行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 201950      hello.txt#此时watch -n 1 -g 'du -b hello.txt'运行结束root@jaking-virtual-machine:~#

本文原创地址:https://www.linuxprobe.com/watch-free-hand.html编辑:朱培棋,审核员:逄增宝


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-26 22:11 , Processed in 0.061245 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表