Contents

Linux中Watch命令简介

1. 概述

当我们在 Linux 命令行上工作时,有时我们希望周期性地执行一条命令并检查每次执行的输出。watch命令可以帮助我们。

在本教程中,我们将通过一些示例来共同学习此命令。

2. watch命令介绍

watch  命令是procps-ng 包中的一个实用程序。这个包默认在所有 Linux 发行版上可用。

我们可以使用 watch命令定期执行一条命令。它以全屏模式在控制台或终端上显示其输出。

通过这种方式,我们可以观察命令输出随时间的变化。

watch命令的基本用法语法 非常简单:

watch [options] COMMAND

**执行给定命令的默认间隔是两秒。*例如,我们可以每两秒监控一次date *命令的输出:

$ watch date

我们将看到输出:

/uploads/watch_command/1.gif

要退出 watch命令,我们按Ctrl-C

3. 自定义更新间隔

如果我们将 *-n(秒)*选项传递给 watch命令,我们可以指定更新间隔。

让我们每三秒而不是默认的两秒监视一次date命令的输出 :

$ watch -n 3 date

输出看起来像:

/uploads/watch_command/3.gif

在屏幕的最开始,它列出了时间间隔和要观看的命令:*每 3.0 秒:*标题中的日期。

4. 关闭输出中的标题

我们已经在watch命令的输出中看到了标头,其中显示了时间间隔、命令、主机名和当前系统时间。

我们可以使用-t*选项隐藏输出中的标题*:

$ watch -t date

现在,我们得到了没有标题的输出:

/uploads/watch_command/5.gif

5. 突出更新之间的差异

我们要watch的命令的输出可能不像前面的示例那么简单。在这种情况下,我们就不太容易看到更新之间的变化。

-d选项将突出显示连续更新之间的差异。

例如,让我们每两秒监控一次内存使用情况并突出显示更改:

$ watch -d free

输出将是:

/uploads/watch_command/7.gif

6. 用管道watch命令

有时我们想使用watch实用程序执行管道链命令。我们必须用引号将整个命令括起来:

$ watch "COMMAND1 | COMMAND2 |..."

现在让我们通过使用*grep 执行 ps 命令 来监视vim*进程信息**:

$ watch "ps -ef | grep [v]im"

/uploads/watch_command/9.gif