watch和tail命令可以帮助监视Linux系统上的活动。本文介绍了这两个命令的一些有用用法。watch和tail命令提供了一些有趣的选项,用于持续监视Linux系统上的活动。也就是说,您可以拥有一个显示登录用户并在用户登录和注销时不断更新的手表,而不是仅仅提出问题并获得答案(例如询问谁并获得当前登录用户的列表)。使用tail,您可以显示文件的底部并查看添加的内容。这种监视通常非常有用,并且比定期运行命令需要更少的工作。使用watch命令使用watch的最简单示例之一是使用命令watchwho。您会看到一个列表,显示谁登录、登录时间和登录地点。请注意,默认设置是每两秒更新一次显示(左上角),日期和时间(右上角)将以该时间间隔自行更新.用户列表会随着用户登录和注销而增长和缩小。$watchwho此命令将显示如下所示的登录列表:每2.0秒:whodragonfly:ThuFeb2710:52:002020nemopts/02020-02-2708:07(192.168.0.11)shspts/12020-02-2710:58(192.168.0.5)修改更新间隔可以通过添加-n选项(如-n10)来修改更新间隔的不同秒数,从而获得更少的更新频率。$watch-n10who上面的命令会以新的时间间隔显示,显示时间的更新频率会降低,保持显示时间与选择的时间间隔一致。每10.0秒:whodragonfly:ThuFeb2711:05:472020nemopts/02020-02-2708:07(192.168.0.11)shspts/12020-02-2710:58(192.168.0.5)如果您只想查看命令的输出,而不是标题(前两行),则可以通过添加-t(无标题)选项来省略这些行。$watch-twho然后,您的屏幕将如下所示:nemopts/02020-02-2708:07(192.168.0.11)shspts/12020-02-2710:58(192.168.0.5)如果每次运行watched命令时输出都是相同的,只有标题行(如果没有省略)会改变。其余显示信息将保持不变。如果您希望watch命令在它正在监视的命令的输出更新后立即退出,您可以使用-g(将其视为“离开”)选项。例如,如果您只是在等待其他人开始登录系统,您可能会选择这样做。您还可以使用-d(差异)选项来突出显示输出中的更改。突出显示只会持续一段时间(默认情况下为2秒),但有助于引起您对更新的注意。下面是一个更复杂的示例,它使用watch命令显示正在侦听连接的服务及其使用的端口。虽然输出不太可能改变,但它会提醒您任何正在启动或关闭的新服务。$watch'sudolsof-i-P-n|grepLISTEN'值得注意的是,正在运行的命令需要用引号引起来,以确保watch命令的输出不会发送到grep命令。使用watch-h命令将为您提供命令选项列表。$watch-hUsage:watch[options]commandOptions:-b,--beepbeepifcommandhasanon-zeroexit-c,--colorinterpretANSIcolorandstylesequences-d,--differences[=<永久>]突出显示更新之间的变化-e,--errexit如果命令有非零退出则退出-g,--chgexit当命令输出改变时退出-n,--interval
