Linux Watch命令

评论 0 浏览 0 2019-02-11

在本教程中,我们将向你介绍watch命令。

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

当你必须反复执行一条命令,并观察命令输出随时间的变化时,它是很有用的。例如,你可以使用watch命令来监视系统的正常运行时间或磁盘使用情况。

watch工具是procps(或procps-ng)软件包的一部分,几乎所有的Linux发行版都预装了这一工具。

如何使用 watch 命令

watch命令的句法如下:

watch [OPTIONS] COMMAND

为了更好地说明watch命令是如何工作的,我们来运行date命令。

watch date
Watch Command

正如你在上图中所看到的,watch命令将暂时清除所有的终端内容,并开始以固定的时间间隔运行所提供的命令。当不使用任何选项时,watch将每两秒运行一次指定的命令。

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

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

要退出watch命令,只需按下Ctrl+C组合键。你也可以通过使用-g(--chgexit)选项将watch设置为在命令的输出改变时退出。

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

如何改变时间间隔

如果默认的两秒更新时间间隔不适合你的使用情况,怎么办?

-n(--interval)选项后面加上所需的秒数,可以改变更新之间的时间间隔。

watch -n INTERVAL_IN_SECONDS COMMAND

例如,用df命令监测你的磁盘空间使用情况,并每隔五秒刷新一次屏幕,你就会运行。

watch -n 5 df -h
Watch Disk Space

凸显更新之间的差异

-d(--difference),选项将使watch突出显示连续更新之间的变化。

watch -d COMMAND

假设你想通过运行uptime命令来监控系统的正常运行时间,并突出显示变化。该命令将是。

watch -d uptime
Watch Uptime

如果你想高亮显示,请将=cumulative传给-d选项。这意味着所有曾经改变过的值都将保持高亮。

watch -d=cumulative COMMAND

使用管子的命令

如果你想执行一个包含管道的命令,你需要用单引号或双引号括住该命令。如果你不把完整的命令括起来,watch将只运行第一条命令,然后把它的输出到管道中的下一条命令。

watch 'COMMAND_1 | COMMAND_2'

例如,下面的命令将使用netstatgrep工具的组合来监控端口80上的活动连接数。

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

总结

现在你应该对如何使用Linux的watch命令有了很好的了解。你可以随时通过在终端输入man watch来查看所有可用的watch命令选项。

如果你有任何问题或反馈意见,请随时留言。

最后更新2023-03-11
0 个评论
标签