您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

命令行生存指南:监视命令输出

时间:2020-11-01 11:29:56  来源:  作者:
命令行生存指南:监视命令输出

 

有时候需要不断的执行某个命令并追踪其输出产生的变化情况。

• 作者:Lujun9972 •

(本文字数:1686,阅读时长大约:2 分钟)

作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是否尝试过让命令来替代你生活中方方面面?

为了让更多的爱好者可以用命令行作为自己的有效工具,linux 中国特别邀请了三位作者,撰写了《命令行生存指南》,希望可以通过这个系列的文章,让你换一个视角,来看待命令行的存在。如果你想体验一下不一样的命令行,那就不妨来看看今天的《命令行生存指南》。

本次的内容为试读内容,也欢迎你针对今天的内容提出自己的意见和建议。

操作概述

有时候需要不断的执行某个命令并追踪其输出产生的变化情况。一种常见的方法是通过写一段死循环的 shell 脚本来实现,不过 Linux 本身已经提供了一个工具来帮你定期执行指定的程序并将结果全屏输出,本节将会介绍该工具。

概念和术语

在 shell 上执行一个命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

操作实战

场景一:使用 watch 定期执行命令并监视输出

命令行生存指南:监视命令输出

 

watch 的基本用法

watch 的使用方法很简单,只需要:

watch 命令

就行了,这样 watch 命令会每隔两秒执行一次 命令,并全屏输出执行结果。

下图是执行 watch date 的一个界面:

Every 2.0s: date                         orangepipc2: Sat Oct  3 09:55:14 2020

Sat 03 Oct 2020 09:55:14 AM CST

图中第一行中的 Every 2.0s: 表示 watch 每隔 2 秒执行一次命令。后面的 date 为要执行的命令。再后面的 orangepipc2: 是执行命令的主机名,Sat Oct 3 09:55:14 2020 为执行命令的时间。

从第三行开始就是命令执行的输出结果。

指定重复执行命令的间隔时间

通过 -n 间隔 你也可以设置重复执行命令的间隔时间,比如我可以调整为每 5 秒中执行一次 date 命令

watch -n 5 date

发现输出中的变化

如果只是单纯的重复执行命令的话,那么可以很容易地通过 shell 循环来实现,然而 watch 的能力不仅如此而已。

通过 -d 选项,watch 还能高亮显示两次输出中不同的部分,这个功能相当实用:

watch -d -n 10 date
命令行生存指南:监视命令输出

 

除了高亮显示输出中改变的部分外,你也可以设置让 watch 发现结果有改变时退出循环执行,方法是使用 -g/--chgexit 选项。例如我们可以通过下面命令来发现 USB 变动情况。

watch -g 'dmesg |grep -i usb |tail'

检测命令执行的返回值

默认情况下,watch 并不会关心命令的执行结果是否成功,但你可以设置让 watch 检测命令的返回值,当命令运行返回非 0 时发出蜂鸣(-b/--beep)或者直接退出(-e/--errexit)。

watch -e wrong_commands
命令行生存指南:监视命令输出


Tags:监视命令   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
有时候需要不断的执行某个命令并追踪其输出产生的变化情况。• 作者:Lujun9972 •(本文字数:1686,阅读时长大约:2 分钟)作为一个工程师,我们经常与命令行打交道,但除了工作...【详细内容】
2020-11-01  Tags: 监视命令  点击:(94)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(1)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(18)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条