Linux Watch命令
在本教程中,我们将向你介绍watch
命令。
watch
用于定期运行任何任意的命令,并在终端窗口上显示命令的输出。
当你必须反复执行一条命令,并观察命令输出随时间的变化时,它是很有用的。例如,你可以使用watch
命令来监视系统的正常运行时间或磁盘使用情况。
watch
工具是procps
(或procps-ng
)软件包的一部分,几乎所有的Linux发行版都预装了这一工具。
如何使用 watch
命令
watch
命令的句法如下:
watch [OPTIONS] COMMAND
为了更好地说明watch
命令是如何工作的,我们来运行date
命令。
watch date
正如你在上图中所看到的,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
凸显更新之间的差异
-d
(--difference
),选项将使watch
突出显示连续更新之间的变化。
watch -d COMMAND
假设你想通过运行uptime
命令来监控系统的正常运行时间,并突出显示变化。该命令将是。
watch -d uptime
如果你想高亮显示,请将=cumulative
传给-d
选项。这意味着所有曾经改变过的值都将保持高亮。
watch -d=cumulative COMMAND
使用管子的命令
如果你想执行一个包含管道的命令,你需要用单引号或双引号括住该命令。如果你不把完整的命令括起来,watch将只运行第一条命令,然后把它的输出到管道中的下一条命令。
watch 'COMMAND_1 | COMMAND_2'
例如,下面的命令将使用netstat
和grep
工具的组合来监控端口80
上的活动连接数。
watch "netstat -anp | grep -c ':80\b.*LISTEN'"
总结
现在你应该对如何使用Linux的watch
命令有了很好的了解。你可以随时通过在终端输入man watch
来查看所有可用的watch
命令选项。
如果你有任何问题或反馈意见,请随时留言。