

Linux教程系列:Linux 中的 Watch 命令示例
source link: https://os.51cto.com/art/202201/699357.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Linux教程系列:Linux 中的 Watch 命令示例
Linux 中的watch命令用于定期运行其他命令,然后在终端中显示输出。以下是如何使用它!
在本指南中,我们将使用易于理解的示例讨论 watch 命令的一些基本功能。
Linux 中的watch命令用于定期运行其他命令,然后在终端中显示输出。以下是如何使用它!
有时,在使用 Linux 命令行时,您可能希望重复执行命令以跟踪输出中的任何变化。幸运的是,有一个命令行实用程序可以让您执行此操作。
使用 Linuxwatch命令,您可以不时跟踪输出的变化。它有利于反映操作系统上正在发生的事件的实时视图。
该watch命令默认安装在几乎所有Linux 发行版上。当您需要监视命令输出随时间的变化时,它很有用。因此,您可以密切关注变化,而不是阅读整个输出。
如何在 Linux 中使用 watch 命令
该 watch 命令的语法如下:
- watch [OPTIONS] COMMAND
- [OPTIONS]: 添加一个选项改变 watch 命令的行为方式。
- [COMMAND]:要重复运行的用户定义命令。
默认情况下,指定的命令将每 2 秒运行一次,而且watch一直运行到被用户中断(按 Ctrl+C)。
例如,我们可以 date 每两秒监控一次命令的输出:
- linuxmi@linuxmi:~/www.linuxmi.com$ watch date
结果,该 watch 命令将暂时清除所有终端内容并开始定期运行提供的命令。在屏幕标题的左上角,您可以看到更新间隔和执行的命令。
如何更改时间间隔
我们知道,默认情况下,该命令每 2 秒运行一次。如果我们将 -n ( --interval) 选项传递给 watch 命令,我们可以指定更新间隔。您需要以秒为单位指定时间量。
我将继续以 date 命令为例。以下命令将每秒运行date 一次。
- linuxmi@linuxmi:~/www.linuxmi.com$ watch -n 1 date
如果您正在运行一个打印出大量输出的命令,那么密切关注更改可能会变得非常麻烦。幸运的是,该watch命令可以突出显示上一个输出与当前输出之间的差异。
要查看变化的输出,我们可以使用 -d ( --difference) 选项。此选项将高亮显示更改。
- linuxmi@linuxmi:~/www.linuxmi.com$ watch -n 1 -d date
如下gif动图:
但是,如果更新之间的间隔非常短,例如-n 0.1,审查差异将具有挑战性。因此,您必须设置合理的更新间隔。
在输出中隐藏标题
( -t)--no-titile选项用于关闭在显示屏顶部显示时间间隔、命令和当前时间的标题,如果您不想看到这部分内容。
- linuxmi@linuxmi:~/www.linuxmi.com$ watch -t date
发生变化时退出
默认情况下,watch 命令会一直运行,直到被用户手动中断(Ctrl+C)。但是,有时您宁愿 watch 在检测到更改时完全退出,而不是高亮显示更改。
您可以 使用 -g (--chgexit) 选项设置watch 在命令的输出更改时退出 。
- linuxmi@linuxmi:~/www.linuxmi.com$ watch -g date
watch上面的示例在输出发生变化时停止命令date,在上面的命令下意味着 2 秒后退出。
错误提示音
如果更新失败,该watch命令还可以发出哔声。beep如果输出更新由于错误而失败,它会使用该包播放声音警报。
- linuxmi@linuxmi:~/www.linuxmi.com$ watch -b incorrect-command
现在您已经了解 watch Linux 上的命令了。虽然它是一个简单的程序,但如果使用得当,它会非常有用。
watch 在其命令行 手册页中了解有关各种选项的更多信息 。
【编辑推荐】
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK