在Linux中使用Watch命令

时间:2020-03-05 15:30:09  来源:igfitidea点击:

Watch是一种自动刷新数据的优秀实用程序。
此命令的一些更常见的用途涉及监视系统进程或者日志,但它可以与管道组合使用以进行更多的通用性。

watch [options] [command]

watch命令示例

使用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

突出显示Wath命令输出的更改

我们可以添加-d选项,手表将自动突出显示我们的更改。
让我们在Linux中使用Date命令查看此项。

我已经包含一个屏幕捕获来展示突出显示的行为。

watch和管道一起使用

我们可以使用管道组合物品。
这不是专属于watch的功能,但它增强了该软件的功能。
管道通过|符号实现。
不巧合,这被称为管道符号或者有时是垂直条符号。

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.