zoukankan      html  css  js  c++  java
  • 解放你的双手-一个命令帮你减负

    前言

    是不是经常会遇到需要观察某个内容,为了持续观察而反复执行某个命令?也许你可以写一个简单的脚本帮你反复执行,但是有更简单方便的方法为什么不用呢?今天要介绍的便是watch命令。

    以固定时间反复执行某个命令

    比如说,你需要使用cat查看某个文件内容,由于它不断更新,你需要反复执行并观察,那么你可以使用watch:

    $ watch -n 1 cat test.txt
    Every 1.0s: cat test.txt 
    hello

    watch的-n参数指定了反复执行的间隔,上面表示每隔1秒就执行cat test.txt命令。

    高亮变化内容

    除了能够反复执行某个命令之外,还可以高亮变化的内容。例如,你需要观察平均负载情况,可以使用:

    $ uptime
    20:12:12 up  1:46,  1 user,  load average: 0.77, 0.75, 0.87

    为了突出变化部分,你可以使用-d(difference)参数,它会高亮变化的内容:

    watch -d uptime
    (这里省略,变化内容会高亮,非常便于观察)

    微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言,C++,算法,数据库等编程相关[原创]技术文章,号内包含大量经典电子书和视频学习资源。欢迎一起交流学习,一起修炼计算机“内功”,知其然,更知其所以然。


    执行出错时退出

    假设你要运行某个命令,希望它的退出码不是0时,即命令执行出错时就结束,那么你可以使用-e(errexit)参数:

    $ watch -n 1 -e cat test.txt

    此时若删掉test.txt文件,它将会停止执行该命令。

    执行结果变化时退出

    前面我们说到可以观察高量变化内容,我们也可以利用-g(chgexit)参数使得结果发现变化时,退出执行:

    $ watch -n 1 -g command

    例如,我们观察某个文件大小是否有变换,发生变化时停止观测,这个时候可以使用:

    $ watch -n 1 -g 'du -b test.txt'

    这里需要注意,后面du的命令需要用引号引起来,以便被当成一个完整的命令,一旦test.txt文件大小变化了,将会退出执行。

    总结

    前面的举例可能不恰当,但是却说明了watch的使用场景。在实际情况中,可以根据自己的场景情况,选择不同的使用方式。

    微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言,C++,算法,数据库等编程相关[原创]技术文章,号内包含大量经典电子书和视频学习资源。欢迎一起交流学习,一起修炼计算机“内功”,知其然,更知其所以然。

    公众号编程珠玑
  • 相关阅读:
    Linux安装git报错 expected specifier-qualifier-list before ‘z_stream’
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: FedoraPeople-sea. Please verify its path and try again
    Linux文件夹文件创建、删除
    confluence 常见问题处理
    git 删除本地和远程服务器分支
    yii DbCriteria相关属性常用方法
    git pull 撤销误操作
    如何在linux上按照行拆分大文件
    linux中rz的用法
    mac版本自带2.7.10版本的python情况下如何安装和使用python3.x
  • 原文地址:https://www.cnblogs.com/bianchengzhuji/p/10499788.html
Copyright © 2011-2022 走看看