首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

恒讯科技分析:如何在Linux上使用watch命令?

watch命令允许我们在循环中重新运行命令,直到我们停止它或遇到可以为您停止循环的条件。当我们等待某些事情发生变化才能继续执行下一个任务时,它会非常有用。

Watch是Linux上的一个命令,它会为你重复运行命令,它提供了一些非常有用的选项。它的基本选项之一是我们可以告诉watch在再次运行指定命令之前要等待多长时间。例如,如果我们运行命令watch -n 10 date,watch命令将首先清除屏幕并立即运行date命令。之后,它将每10秒运行一次命令,直到我们通过按control-C停止它。请注意,屏幕上的第一行将指示迭代之间的等待时间(每10秒)。

$ watch -n 10 日期

每10.0秒:日期软呢帽:2022年8月12日星期五 16:32:09 EDT

美国东部时间2022年8月12日星期五下午04:10:11

-n选项指定命令之间的秒数。默认值为 2。我们可能需要仔细观察才能注意到输出中的变化。

所选命令的每次迭代都会覆盖先前的输出。如果我们想更轻松地关注正在更改的那部分输出,我们可以添加-d选项以突出显示与先前输出不同的那部分输出。如果我们使用d=cumulative设置,则输出的任何更改部分将在每次迭代中继续突出显示。

如果使用-g(输出更改时退出)选项,输出中的任何更改都会导致watch命令停止运行。这在我们等待进程开始或结束时非常有用。一旦我们看到手表输出停止,就会知道是时候进入工作的下一步了。

$ watch -n 5 -g "ps -ef | grep install | wc -l"

在上面的示例中,ps -ef命令输出将包括我们的grep命令以及正在运行的安装命令或脚本。该过程完成后,watch将停止运行,因为输出将发生变化。但是,它只会在完成下一个等待周期后停止。

如果我们正在等待某人登录或退出系统,我们可以使用watch命令让自己知道他们何时登录或退出系统。

$ watch -g 谁

每 2.0 秒:who fedora:美国东部时间2022年8月12日星期五 16:40:00

shs tty2 2022-08-12 16:01:03 (tty2)

像这样的命令会重复显示正在运行的进程数:

$ watch -n 10 "ps -ef | wc -l"

每十秒就会显示一次输出。

每10.0秒:pe -ef | wc -l fedora:2022年8月12日星期五16:32:09 EDT 234

在下面的示例中使用-t选项将从监视输出中省略标题行。

$ watch -n 10 -t 日期

美国东部时间 2022 年 8 月 12 日星期五下午 04:20:10

什么时候结束?watch命令不会自行停止运行。我们可以使用 control-C终止它,或者在输出更改时使用-g选项让它停止。不幸的是,当输出停止变化时,没有停止监视的选项。对于某些任务,这会非常方便。

以上是在Linux上使用watch命令相关操作。我们可以使用watch运行许多不同的命令。任何时候你想监视一个进程,检查日志文件的大小,查看系统性能,或者只是等待一个进程完成,都有一个watch命令可以为你做这些。该命令还有一个有用的手册页,可以解释其用法和命令的选项。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230306A068IZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券