linux watch命令

watch 用于定期运行任意命令,并在终端窗口上显示命令的输出。

当您必须重复执行命令并观察命令输出随时间变化时,此功能很有用。例如,您可以使用watch命令来监视系统正常运行时间或磁盘使用情况。

watch实用程序是procps(或procps-ng)软件包的一部分,该软件包已预装在几乎所有Linux发行版中。

如何使用watch命令

watch命令的语法如下:

watch [OPTIONS] COMMAND

为了最好地说明该watch命令的工作方式,让我们运行以下date命令:

$ watch date

https://linuxize.com/post/linux-watch-command/watch-command.jpg?ezimgfmt=ng:webp/ngcb26

如上图所示,该watch命令将临时清除所有终端内容,并开始定期运行提供的命令。不带任何选项使用时,watch将每两秒钟运行一次指定的命令。

在屏幕标题的左上方,您可以看到watch更新间隔和执行的命令(Every 2.0s: date),而在左上方则watch显示当前时间和日期。如果要关闭标题,请使用-t--no-title)选项。

指定命令的输出显示在屏幕上,并每两秒钟定期更新一次。

要退出该watch命令,只需按Ctrl+C组合键即可。您还可以watch使用-g--chgexit)选项设置为在命令的输出更改时退出。

在以下各节中,我们将介绍最常用的watch命令选项。

如何更改时间间隔

如果默认的更新间隔2秒不适合您的用例,该怎么办?

-n--interval)选项,后跟秒的所需数量的允许更改的更新之间的时间间隔:

watch -n INTERVAL_IN_SECONDS COMMAND

例如,要使用df命令监视磁盘空间使用情况并每五秒钟刷新一次屏幕,您将运行:

watch -n 5 df -h

强调更新之间的差异

-d--difference),选项将导致watch突出连续更新之间的变化。

watch -d COMMAND

假设您要通过运行uptime命令来监视系统正常运行时间并突出显示更改。该命令将是:

$ watch -d uptime

如果您希望高光显示为粘性,请传递=cumulative至该-d选项。这意味着所有已更改的值将保持突出显示。

watch -d=cumulative COMMAND

管道命令

如果要执行包含管道的命令,则需要将该命令用单引号或双引号引起来。如果不包含完整命令,则监视命令将仅运行第一个命令,然后将其输出通过管道传递给管道中的下一个命令。

watch 'COMMAND_1 | COMMAND_2'

例如,以下命令将80使用netstatgrep实用程序的组合监视端口上活动连接的数量:

watch "netstat -anp | grep -c ':80\b.*LISTEN'"

结论

到目前为止,您应该对如何使用Linux watch命令有一个很好的了解。您始终可以watch通过man watch在终端中键入来查看所有可用的命令选项。

systemctl命令详解
chrome插件Vimium-黑客的浏览器
ajax-loader