Linux教程系列:Linux 中的 Watch 命令示例

系统 Linux
Linux 中的watch命令用于定期运行其他命令,然后在终端中显示输出。以下是如何使用它!

 在本指南中,我们将使用易于理解的示例讨论 watch 命令的一些基本功能。

Linux 中的watch命令用于定期运行其他命令,然后在终端中显示输出。以下是如何使用它!

有时,在使用 Linux 命令行时,您可能希望重复执行命令以跟踪输出中的任何变化。幸运的是,有一个命令行实用程序可以让您执行此操作。

使用 Linuxwatch命令,您可以不时跟踪输出的变化。它有利于反映操作系统上正在发生的事件的实时视图。

该watch命令默认安装在几乎所有Linux 发行版上。当您需要监视命令输出随时间的变化时,它很有用。因此,您可以密切关注变化,而不是阅读整个输出。

如何在 Linux 中使用 watch 命令

该 watch 命令的语法如下:

  1. watch [OPTIONS] COMMAND 

解释下:

  •  [OPTIONS]: 添加一个选项改变 watch 命令的行为方式。
  •  [COMMAND]:要重复运行的用户定义命令。

默认情况下,指定的命令将每 2 秒运行一次,而且watch一直运行到被用户中断(按 Ctrl+C)。

例如,我们可以 date 每两秒监控一次命令的输出: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch date 

结果,该 watch 命令将暂时清除所有终端内容并开始定期运行提供的命令。在屏幕标题的左上角,您可以看到更新间隔和执行的命令。

如何更改时间间隔

我们知道,默认情况下,该命令每 2 秒运行一次。如果我们将 -n ( --interval) 选项传递给 watch 命令,我们可以指定更新间隔。您需要以秒为单位指定时间量。

我将继续以 date 命令为例。以下命令将每秒运行date 一次。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch -n 1 date 

高亮差异

如果您正在运行一个打印出大量输出的命令,那么密切关注更改可能会变得非常麻烦。幸运的是,该watch命令可以突出显示上一个输出与当前输出之间的差异。

要查看变化的输出,我们可以使用 -d ( --difference) 选项。此选项将高亮显示更改。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch -n 1 -d date 

如下gif动图:

但是,如果更新之间的间隔非常短,例如-n 0.1,审查差异将具有挑战性。因此,您必须设置合理的更新间隔。

在输出中隐藏标题

( -t)--no-titile选项用于关闭在显示屏顶部显示时间间隔、命令和当前时间的标题,如果您不想看到这部分内容。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch -t date 

发生变化时退出

默认情况下,watch 命令会一直运行,直到被用户手动中断(Ctrl+C)。但是,有时您宁愿 watch 在检测到更改时完全退出,而不是高亮显示更改。

您可以 使用 -g (--chgexit) 选项设置watch 在命令的输出更改时退出 。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch -g date 

watch上面的示例在输出发生变化时停止命令date,在上面的命令下意味着 2 秒后退出。

错误提示音

如果更新失败,该watch命令还可以发出哔声。beep如果输出更新由于错误而失败,它会使用该包播放声音警报。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ watch -b incorrect-command 

结论

现在您已经了解 watch Linux 上的命令了。虽然它是一个简单的程序,但如果使用得当,它会非常有用。

watch 在其命令行 手册页中了解有关各种选项的更多信息 。 

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2022-08-29 08:33:22

SocatLinux命令

2020-09-29 07:18:24

Linuxtee命令

2022-05-09 08:55:58

Linuxdiff命令

2021-09-22 15:00:24

Linuxwatch 命令

2023-10-09 07:33:50

Linuxls 命令

2020-05-20 13:45:52

Linuxtouch命令

2015-03-25 10:36:57

lsLinux

2021-12-06 10:15:37

Linuxcat命令

2013-11-15 16:07:26

Linux dfLinux命令

2020-12-07 10:48:31

Linuxls命令stat命令

2020-04-21 16:13:29

LinuxCut命令Unix系统

2009-09-25 10:06:37

Linux教程Linux pwdLinux命令

2009-09-28 11:21:17

Linux教程ls命令Linux

2009-09-25 10:08:24

Linux教程Linux cdLinux命令

2009-09-28 11:19:45

Linux教程dir命令Linux

2022-05-07 09:30:08

watchtailLinux 系统

2020-04-16 14:20:16

Linuxtouch命令

2021-09-13 09:54:51

Linuxcrontab命令

2018-04-16 10:12:46

Linux命令gunzip

2013-05-23 15:10:34

Netcat
点赞
收藏

51CTO技术栈公众号