在 Linux 中使用 Watch 命令

Watch 是一个很棒的实用程序,可以自动刷新数据。 此命令的一些更常见用途涉及监视系统进程或日志,但它可以与管道结合使用以获得更多功能。

watch [options] [command]

观看命令示例

使用不带任何选项的 watch 命令将使用 2.0 秒刷新间隔的默认参数。

正如我之前提到的,更常见的用途之一是监视系统进程。 让我们将它与 free 命令一起使用。 这将为您提供有关我们系统内存使用情况的最新信息。

watch free

是的,朋友们就是这么简单。

Every 2.0s: free                                pop-os: Wed Dec 25 13:47:59 2019

              total        used        free      shared  buff/cache   available
Mem:       32596848     3846372    25571572      676612     3178904    27702636
Swap:             0           0           0

调整watch命令的刷新率

您可以使用 -n 旗帜。

watch -n 10 free
Every 10.0s: free                               pop-os: Wed Dec 25 13:58:32 2019

              total        used        free      shared  buff/cache   available
Mem:       32596848     4522508    24864196      715600     3210144    26988920
Swap:             0           0           0

如您在输出的左上角所见,这从默认的 2.0 秒刷新变为 10.0 秒。

从 watch 命令输出中删除标题或标题信息

watch -t free

-t 标志删除标题/标题信息以清理输出。 该信息仍将每 2 秒刷新一次,但您可以通过组合 -n 选项来更改它。

              total        used        free      shared  buff/cache   available
Mem:       32596848     3683324    25089268     1251908     3824256    27286132
Swap:             0           0           0

突出显示 watch 命令输出的变化

您可以添加 -d option 和 watch 会自动为我们突出显示更改。 让我们在 Linux 中使用 date 命令来看看这个。 我已经包含了一个屏幕截图来显示突出显示的行为。

将管道与手表一起使用

您可以使用管道组合项目。 这不是观看独有的功能,但它增强了该软件的功能。 管道依靠 | 象征。 并非巧合的是,这称为管道符号或有时称为竖线符号。

watch "cat /var/log/syslog | tail -n 3"

当此命令运行时,它将列出 syslog 文件的最后 3 行。 该列表将每 2 秒刷新一次,并且将显示任何更改。

Every 2.0s: cat /var/log/syslog | tail -n 3                                                      pop-os: Wed Dec 25 15:18:06 2019

Dec 25 15:17:24 pop-os dbus-daemon[1705]: [session uid=1000 pid=1705] Successfully activated service 'org.freedesktop.Tracker1.Min
er.Extract'
Dec 25 15:17:24 pop-os systemd[1591]: Started Tracker metadata extractor.
Dec 25 15:17:45 pop-os systemd[1591]: tracker-extract.service: Succeeded.

结论

Watch 是一个简单但非常有用的实用程序。 我希望我给了你一些想法,可以帮助你改进你的工作流程。

这是一个简单的命令,但有广泛的潜在用途。 如果您有任何有趣的用途想分享,请在评论中告诉我们。