如何在Linux上使用Watch命令定期运行程序
有时,您需要重复运行命令或程序来监视系统的各个方面,例如正在进行的进程、磁盘空间使用或用户登录。Linux watch命令允许您自动执行这些任务,而不必反复手动运行它们。
使用此命令,您可以实时监控系统活动,如用户登录、网络状态、内存和CPU使用情况、磁盘空间等。
什么是监视司令部?
Watch Linux命令定期重复运行指定的命令或程序,并在终端中显示其输出。这使您可以实时观察输出中的更改。它在每个时间间隔刷新输出,覆盖命令以前的输出。默认情况下,该命令每两秒重复一次,并一直持续到您使用Ctrl+C手动停止它为止。
观看命令
Watch命令的语法为:
监视选项命令<>
有各种命令行选项可用于watch命令。如果运行watch命令而不带任何选项,它将每隔两秒运行一次指定的命令。例如,下面将显示ls命令的输出:
手表ls—l~/
如果文件被创建、删除或大小改变,输出将显示目录列表中的更改,同时每两秒钟刷新一次输出。
每X秒运行一个命令使用watch
您可以更改watch命令的更新间隔。这意味着您可以告诉watch命令在重复该命令之前等待x秒。若要更改更新间隔,请使用—n选项,后跟以秒为单位的时间间隔。
手表—n
例如,要每隔5秒运行一次命令,请运行:
watch—n5命令<>
突出显示更新之间的更改
watch命令在每次刷新时覆盖其输出。使用—d选项,还可以突出显示上一个输出和更新输出之间的更改。
watch—d
在Watch命令的输出中隐藏标头
默认情况下,watch命令在每个输出的顶部显示一个标题,其中包含更新间隔、命令名称以及系统的当前日期和时间。您可以使用—t选项从输出中剥离标题:
watch—t命令<>
错误时播放蜂鸣声
当一个Linux进程完成运行时,它返回一个退出代码。按照惯例,成功时的值为0,而非零表示错误。如果命令返回非零退出,则watch命令的—b选项将播放蜂鸣声。
假设您想要监视sshd.service并在服务停止时得到通知;您将使用:
watch—b sudo systemctl status sshd. service
当服务停止时,此命令将发出蜂鸣声。服务恢复时,蜂鸣声将停止。要测试这个问题,请打开另一个终端窗口并停止服务。这将发出持续的哔哔声,直到您再次启动服务。但是,要使用此功能,您必须在系统上安装哔哔声包。
输出更改时退出监视命令
您还可以告诉watch命令停止运行,并在该命令的输出更改时退出。您可以使用-g选项来实现这一点。当您等待输出中的某些更改时,此选项非常有用。
一旦输出改变,watch命令将停止。您可以将这种用法与echo命令结合起来在屏幕上显示消息。
例如,考虑一个场景,您正在等待文件到达目录中。下面的命令将监视指定文件的目录。当它到达时,watch命令将停止运行,到达的消息文件将显示在终端上。
Watch-g“ls-L|grep文件名”&;&;ECHO“文件已到达”
另一个有用的示例是当特定用户登录到您的系统时发出通知:
watch—g "who| grep用户名"echo"用户名已登录"&&
该命令将监视谁命令的输出,该命令列出已登录的用户。一旦用户登录,Watch命令将停止并在终端上显示一条消息。
类似地,当文件中发生某些更改时,您可以告诉watch命令停止服务。请记住,当使用管道命令链时,您需要将整个命令用引号括起来。
查看您的Linux系统中的活动
如果你发现自己重复执行同一个过程,考虑使用watch命令来自动执行,这样你就不必频繁地输入命令来查看发生了什么变化。
您还可以将watch命令与其他Linux命令一起使用,以监视系统资源和活动,并跟踪文件或目录中的更改。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...