如何使用 Linux 上的 watch 命令定期运行程序
一分耕耘,一分收获!既然打开了这篇文章《如何使用 Linux 上的 watch 命令定期运行程序》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
有时候,您可能需要反复执行命令或程序来监视系统的各个方面,比如正在运行的进程、磁盘空间使用情况或用户登录情况。Linux中的watch
命令可以让您自动执行这些任务,而无需手动一遍又一遍地运行它们。
使用watch
命令,您可以实时监视系统活动,比如用户登录、网络状态、内存和CPU使用情况、磁盘空间等。下面让我们看看如何在Linux中使用watch
命令。
什么是watch
命令?watch
命令在Linux中以固定时间间隔反复运行指定的命令或程序,并在终端中显示其输出。这使您能够实时观察输出的变化。它会在每个时间间隔刷新输出,覆盖上一个输出。默认情况下,该命令每两秒重复一次,直到您使用Ctrl + C手动停止它。
watch
命令的语法
watch
命令的语法如下:
watch 选项
有各种可用于watch
命令的命令行选项。如果您运行watch
命令而没有任何选项,它将每隔两秒运行一次指定的命令。例如,以下命令将显示ls
命令的输出:
watch ls -l ~/
“

输出将显示目录列表中的更改,如果创建了文件、删除了文件或文件大小发生变化,它将每两秒刷新一次输出。
使用watch命令每隔X秒运行一个命令
您可以更改watch命令的更新间隔。这意味着您可以告诉watch命令在重复命令之前等待X秒。要更改更新间隔,请使用-n选项,后面跟随以秒为单位的时间间隔。
watch -n
“
例如,要每隔5秒运行一次命令,请运行:
watch -n 5 command>
“
突出显示更新之间的变化
watch命令会在每次刷新时覆盖其输出。使用-d选项,您还可以突出显示先前输出和更新后输出之间的变化。
watch -d
“
隐藏watch命令输出中的标题
默认情况下,watch命令在每个输出的顶部显示一个标题,其中包含更新间隔、命令名称以及系统的当前日期和时间。您可以使用-t选项从输出中删除标题:
watch -t command>
“
在错误时播放蜂鸣声
当Linux进程完成运行时,它会返回一个退出代码。按照惯例,成功时该值为0,非零表示错误。watch命令的-b选项会在命令返回非零退出代码时播放蜂鸣声。
假设您想要监视sshd.service,并在服务停止时收到通知,您可以使用:
watch -b sudo systemctl status sshd.service
“
该命令将在服务停止时发出蜂鸣声。当服务恢复运行时,蜂鸣声将停止。要使用此功能,您必须在系统上安装了beep软件包。
在输出更改时退出watch命令
您还可以告诉watch命令在命令的输出更改时停止运行并退出。您可以使用-g选项来实现这一点。在等待输出中的某些变化时,此选项非常有用。
一旦输出发生变化,watch命令将停止。您可以将此用法与echo命令结合使用,以在屏幕上显示消息。
例如,考虑一个场景,您正在等待一个文件出现在您的目录中。以下命令将监视指定文件的目录。一旦出现,watch命令将停止运行,并且终端上将显示消息”file arrived“。
watch -g "ls -l | grep filename" && echo "file arrived"
“

另一个有用的示例是在特定用户登录到系统时进行通知:
watch -g "who | grep username" && echo "username logged in"
“
此命令将监视who命令的输出,该命令列出已登录的用户。一旦用户登录,watch命令将停止并在终端上显示消息。
类似地,您可以告诉watch命令在文件中进行更改时停止服务。请注意,在使用一系列命令的管道链时,您需要将整个命令括在引号内。
监视Linux系统中的活动
如果您发现自己反复执行相同的流程,请考虑使用watch命令来自动化它。这可以使您免于频繁键入命令以查看发生了什么变化。
您还可以将watch命令与其他Linux命令一起使用,以监视系统资源和活动,并跟踪文件或目录中的更改。
理论要掌握,实操不能落!以上关于《如何使用 Linux 上的 watch 命令定期运行程序》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

- 上一篇
- 反不正当竞争法迎来修订 拟完善不正当竞争行为相关规定等

- 下一篇
- 微电子学院超宽带高速电路取得多项成果
-
- 文章 · linux | 4小时前 |
- Linuxfind与grep高效使用技巧
- 327浏览 收藏
-
- 文章 · linux | 4小时前 |
- Linux快照备份与恢复方案解析
- 317浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux容器入门:Podman对比Docker详解
- 130浏览 收藏
-
- 文章 · linux | 6小时前 |
- Linux自动更新设置:yum和apt配置方法
- 172浏览 收藏
-
- 文章 · linux | 9小时前 |
- Linux网络排查指南:抓包工具使用详解
- 136浏览 收藏
-
- 文章 · linux | 10小时前 | docker 容器 dockercompose DockerVolume Docker网络
- Linux容器入门:Docker搭建与管理指南
- 422浏览 收藏
-
- 文章 · linux | 10小时前 |
- LinuxRPM与APT管理详解指南
- 483浏览 收藏
-
- 文章 · linux | 10小时前 |
- Linux内核模块自动加载配置全解析
- 184浏览 收藏
-
- 文章 · linux | 11小时前 |
- Linux配置NFS共享方法详解
- 207浏览 收藏
-
- 文章 · linux | 13小时前 |
- Linuxiptables日志设置详解
- 296浏览 收藏
-
- 文章 · linux | 15小时前 |
- Linux权限设置:chmod与umask实用教程
- 177浏览 收藏
-
- 文章 · linux | 1天前 |
- Linux容器入门:Podman对比Docker详解
- 284浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 217次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 217次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 213次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 218次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 239次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览