0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux中使用watch命令呢?

dyquk4xk2p3d 来源:Linux迷 2023-11-17 09:34 次阅读

有时,您需要反复运行命令或程序来监视系统的各个方面,如正在运行的进程、磁盘空间使用情况或用户登录情况。

Linux中的watch命令使您能够自动执行这些任务,而无需手动一遍又一遍地运行它们。

使用此命令,您可以实时监视系统活动,如用户登录、网络状态、内存和CPU使用情况、磁盘空间等。

让我们看看如何在Linux中使用watch命令。

什么是watch命令?

watch命令在Linux中反复运行指定的命令或程序,以固定时间间隔,并在终端中显示其输出。这使您能够实时观察输出的变化。它会在每个时间间隔刷新输出,覆盖上一个输出。默认情况下,该命令每两秒重复一次,直到您使用Ctrl + C手动停止它。

watch命令的语法

watch命令的语法如下:


watch 选项 <命令>
有各种可用于watch命令的命令行选项。如果您运行watch命令而没有任何选项,它将每隔两秒运行一次指定的命令。例如,以下命令将显示ls命令的输出:

watch ls -l ~/
0e72b928-84e7-11ee-939d-92fbcf53809c.png

输出将显示目录列表中的更改,如果创建了文件、删除了文件或文件大小发生变化,它将每两秒刷新一次输出。

使用watch命令每隔X秒运行一个命令

您可以更改watch命令的更新间隔。这意味着您可以告诉watch命令在重复命令之前等待X秒。要更改更新间隔,请使用-n选项,后面跟随以秒为单位的时间间隔。


watch -n
例如,要每隔5秒运行一次命令,请运行:

watch -n 5 

突出显示更新之间的变化

watch命令会在每次刷新时覆盖其输出。使用-d选项,您还可以突出显示先前输出和更新后输出之间的变化。


watch -d

隐藏watch命令输出中的标题

默认情况下,watch命令在每个输出的顶部显示一个标题,其中包含更新间隔、命令名称以及系统的当前日期和时间。您可以使用-t选项从输出中删除标题:


watch -t 

在错误时播放蜂鸣声

当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"
0e8e8d2e-84e7-11ee-939d-92fbcf53809c.png

另一个有用的示例是在特定用户登录到系统时进行通知:

watch -g "who | grep username" && echo "username logged in"
此命令将监视who命令的输出,该命令列出已登录的用户。一旦用户登录,watch命令将停止并在终端上显示消息。

类似地,您可以告诉watch命令在文件中进行更改时停止服务。请注意,在使用一系列命令的管道链时,您需要将整个命令括在引号内。

监视Linux系统中的活动

如果您发现自己反复执行相同的流程,请考虑使用watch命令来自动化它。这可以使您免于频繁键入命令以查看发生了什么变化。

您还可以将watch命令与其他Linux命令一起使用,以监视系统资源和活动,并跟踪文件或目录中的更改。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206735
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26911

原文标题:如何使用 Linux 上的 watch 命令定期运行程序

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何在Linux上可视化Ping响应

    本文讨论ping网络管理实用程序的简要历史,以及如何在Linux中使用gping实用程序以图形格式显示ping命令输出。
    发表于 12-05 09:29 671次阅读

    何在Linux使用iostat命令

    IO等待或者`iowait`,`wait`,`wa`,`%iowait`,或者`wait%`通常可以通过Linux系统监控工具查看。例如命令行工具top、sar、atop等。
    的头像 发表于 01-04 17:17 1227次阅读

    嵌入式Linux命令总结

    今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令命令有点多,建议小伙伴们可以先收藏后阅读。
    发表于 06-13 15:15 288次阅读

    何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令
    的头像 发表于 12-04 14:45 551次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>中使</b>用htop<b class='flag-5'>命令</b>

    何在linux应用程序中使用pwm捕获?

    /402e4000.pwm/pwm/pwmchip6/pwm0# cat capture cat: capture: 函数未实现 那么,如何在 linux 应用程序中使用 pwm 捕获?
    发表于 05-10 07:05

    何在Linux中使用SIM7100模块的详细资料概述

    本文档的主要内容详细介绍的是如何在Linux中使用SIM7100模块的详细资料概述
    发表于 06-14 08:00 10次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>中使</b>用SIM7100模块的详细资料概述

    何在 Linux 中使用一个命令升级所有软件

    你无需运行每个包管理器来更新包。 topgrade 工具通过检测已安装的软件包、工具、插件并运行相应的软件包管理器来更新 Linux 中的所有软件,用一条命令解决问题。
    的头像 发表于 07-28 08:20 4523次阅读

    何在嵌入式Linux中使用GPIO

    了解如何在嵌入式Linux中使用GPIO,特别强调Zynq-7000系列。 我们介绍了基本的用户和内核空间GPIO使用情况,以及GPIO,GPIO密钥和GPIO LED上的bit-banged I / O.
    的头像 发表于 11-26 07:02 3846次阅读

    何在Linux使用pidof命令

    `pidof`是一个命令行程序,可让您找到正在运行程序的进程ID。在教程中,我们将说明如何在Linux 使用pidof命令
    的头像 发表于 12-05 17:01 1881次阅读

    何在Linux使用touch命令

    Linux touch命令用于更改文件时间戳。但touch命令的最常见用法是创建文件。
    的头像 发表于 12-05 17:21 1695次阅读

    何在Linux使用rpm命令

    RPM是基于RedHat Linux发行版的软件包管理器,例如CentOS和Fedora。RPM还指`rpm`命令和`.rpm`文件扩展名称。
    的头像 发表于 01-04 17:14 1391次阅读

    何在Linux上使用粘贴命令

    Linux中的粘贴命令是一个有用的工具,用于将多个文件或文本行合并到单个文件或输出中。它通常与剪切命令结合使用,允许用户剪切特定行或文本部分并将其粘贴到其他地方。在本文中,小编将探讨 Linu
    的头像 发表于 02-08 16:58 1449次阅读

    何在Linux中使用progress命令

    progress 命令是一个简单但功能强大的 Linux/Unix 命令行工具,可让用户查看文件操作的进度。
    的头像 发表于 04-08 15:51 1525次阅读

    何在Linux命令行中运行Python脚本

    Python 脚本。 在本文中,我们将详细介绍如何在 Linux 命令行中运行 Python 脚本。我们将讨论以下主题:
    的头像 发表于 05-12 14:49 1371次阅读

    恒讯科技分析:如何在Linux上使用rm命令删除文件和目录?

    本指南展示了如何在Linux中使用rm命令行删除文件、目录和其他内容?
    的头像 发表于 06-09 17:02 854次阅读