Linux命令:watch命令

1 watch命令

1.1 简介

watch 是一个在 Unix 和 Unix-like 系统(包括 Linux 和 macOS)中常用的命令行工具,用于周期性地执行一个命令并显示其输出。
watch 命令会重复运行指定的命令,并显示其输出和错误(通常是第一屏的内容)。这允许你观察程序输出随时间的变化。默认情况下,命令每2秒运行一次,watch 会一直运行直到被中断。

1.2 说明

使用:watch [options] command
options:

  • -d ,–difference:显示两次命令执行之间的差异
  • -n, --interval seconds:指定更新间隔,也就是指定多久时间执行一次命令
  • -t, --no-title:不显示当前命令的标题行
  • -e, --errexit:在命令发生错误时冻结更新,并在按键后退出。
  • -g, --chgexit:当命令的输出发生变化时退出。
  • -w, --no-linewrap:关闭行换行。长行将被截断而不是换行到下一行。这意味着 watch 不会在屏幕上自动折行过长的输出,而是会在屏幕边缘截断它。

错误码解释:

  • 0 成功。
  • 1 各种失败情况。这通常是一个通用的错误代码,表示发生了某种错误,但没有具体的错误详情。
  • 2 创建要监视的进程的子进程失败。这可能是因为系统资源不足、权限问题或其他原因导致的。
  • 3 将子进程的 stdout(标准输出)替换为写入侧的管道失败。这通常与管道创建或配置有关。
  • 4 命令执行失败。这表示 watch 尝试运行的命令本身遇到了问题,没有成功执行。
  • 5 关闭子进程写管道失败。这通常发生在尝试关闭子进程与 watch 之间通信的管道时。
  • 7 IPC(进程间通信)管道创建失败。IPC 管道是 watch 和其子进程之间通信的方式,如果创建失败,则 watch 无法正常工作。
  • 8 使用 waitpid(2) 获取子进程返回值失败,或者命令因错误而退出。waitpid 是一个系统调用,用于等待子进程结束并获取其状态。如果失败,可能是因为子进程已经以错误状态退出,或者与 waitpid 相关的系统调用失败。
  • other watch 将传播命令的退出状态作为子进程的退出状态。这意味着如果

环境变量:

  • WATCH_INTERVAL:更新间隔,遵循与 --interval 命令行选项相同的规则。

1.3 案例

1、重复执行uptime命令

watch uptime

2、显示两次命令执行结果差异

# 监视目录内容的变化
watch -d ls -l
# 每隔一秒高亮显示网络链接数的变化情况:
watch -n 1 -d netstat -ant
# 监测当前目录中test.txt文件的变化:
watch -d 'ls -l|grep test.txt'
## 注意:使用管道符需要用 '' 引起来

3、只想查看smile用户的文件

watch -d 'ls -l |fgrep smile'

4、每隔 n s执行一次命令

watch -n 10 sleep 1
## 每10秒一次输出系统的平均负载
watch -n 10 'cat /proc/loadavg'
# 监测磁盘inode和block数目变化情况:
watch -n 1 "df -i;df

总结

watch多用于对命令的监视,在使用的时注意:使用管道符需要用 ‘’ 引起来

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值