巧用watch命令执行循环操作,来解放我们的双手
有时候我们需要重复执行某个 命令,观察某个文件和某个结果的变化情况。可以写 脚本去实现这些需求,但是有更简单的方法,本文档要介绍的就是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 2019
Hello 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 2019
cat: hello.txt: No such file or directory
4. 执行结果变化时退出
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
打开另一个终端执行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:~#
巧用watch命令执行循环操作,来解放我们的双手的更多相关文章
- Docker源码分析(二):Docker Client创建与命令执行
1. 前言 如今,Docker作为业界领先的轻量级虚拟化容器管理引擎,给全球开发者提供了一种新颖.便捷的软件集成测试与部署之道.在团队开发软件时,Docker可以提供可复用的运行环境.灵活的资源配置. ...
- saltstack命令执行过程
saltstack命令执行过程 具体步骤如下 Salt stack的Master与Minion之间通过ZeroMq进行消息传递,使用了ZeroMq的发布-订阅模式,连接方式包括tcp,ipc salt ...
- HFS远程命令执行漏洞入侵抓鸡黑阔服务器
先来科普一下: HFS是什么? hfs网络文件服务器 2.3是专为个人用户所设计的HTTP档案系统,如果您觉得架设FTP Server太麻烦,那么这个软件可以提供您更方便的网络文件传输系统,下载后无须 ...
- ping命令执行过程详解
[TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...
- 【MongoDB】6.关于MongoDB存储文件的 命令执行+代码执行
参考:http://www.runoob.com/mongodb/mongodb-gridfs.html 1.命令执行 MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSO ...
- SQL Server数据库备份:通过Windows批处理命令执行
通过Windows批处理命令执行SQL Server数据库备份 建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. --- ...
- 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
管道和过滤器 管道和过滤器是八种体系结构模式之一,这八种体系结构模式是:层.管道和过滤器.黑板.代理者.模型-视图-控制器(MVC) 表示-抽象-控制(PAC).微核.映像. 管道和过滤器适用于需要渐 ...
- "Java 反序列化"过程远程命令执行漏洞
一.漏洞描述 国外 FoxGlove 安全研究团队于2015年11月06日在其博客上公开了一篇关于常见 Java 应用如何利用反序列化操作进行远程命令执行的文章.原博文所提到的 Java 应用都使 ...
- ASP代码审计 -4.命令执行漏洞总结
命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip" ...
随机推荐
- DateFormat抽象类实现日期与字符串的转换
[需求]日期是可以计算的,而日期字符串无法计算. 由于DateFormat是抽象类,我们一般都是用的它的子类SimpleDateFormat. [SimpleDateFormat构造方法] 1)Sim ...
- 数据处理:2.异常值处理 & 数据归一化 & 数据连续属性离散化
1.异常值分析 异常值是指样本中的个别值,其数值明显偏离其余的观测值.异常值也称离群点,异常值的分析也称为离群点的分析. 异常值分析 → 3σ原则 / 箱型图分析异常值处理方法 → 删除 / 修正填补 ...
- Ubuntu16.04下的modules模块编译加载
一.首先编写对应的驱动程序的相关内容:(最简单的hello.c程序) #include<linux/init.h> #include<linux/module.h> MODUL ...
- Dubbo入门---搭建一个最简单的Demo框架(转)
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
- 爬虫3 requests之json 把json数据转化为字典
#json 将json数据转化为字典,方便操作数据 res = requests.get('http://httpbin.org/get') print(res.json()) #res.json() ...
- poj 1386 Play on Words门上的单词【欧拉回路&&并查集】
题目链接:http://poj.org/problem?id=1386 题目大意:给你若干个字符串,一个单词的尾部和一个单词的头部相同那么这两个单词就可以相连,判断给出的n个单词是否能够一个接着一个全 ...
- Ajax技术使用(一)
Ajax技术使用 目录 AJAX介绍 XMLHttpRequest 请求和响应 onreadystatechange 事件 AJAX介绍 什么是 AJAX AJAX = 异步 JavaScript 和 ...
- valueof toString
valueof toString add(1)(2) // 3 add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5) // 15 function add() { var ...
- raid 搭建
RAID几种常见的类型 RAID类型 最低磁盘个数 空间利用率 各自的优缺点 级 别 说 明 RAID0 条带卷 2+ 100% 读写速度快,不容错 RAID1 镜像卷 2 50% 读写速度一般,容错 ...
- llinux其他权限
linux的安全机制,不允许新创建的文件具有执行的权限,所以如果因为umask值设置问题,导致新建文件具备执行权限,会自动在该权限位加一 隐藏权限:仅root可用 chattr +/-/ a/i fi ...