Redian新闻
>
使用 watch 和 tail 命令监视 Linux 上的活动 | Linux 中国

使用 watch 和 tail 命令监视 Linux 上的活动 | Linux 中国

科技
 
导读:watch 和 tail 命令可以帮助监视 Linux 系统上的活动。本文介绍了这两个命令的一些有用的使用方法。
本文字数:3547,阅读时长大约:4分钟

LCTT 译者 :Starryi
🌟🌟
翻译: 4.0 篇
|
贡献: 627 天
2020-08-12
2022-05-01
https://linux.cn/lctt/Starryi

watch 和 tail 命令可以帮助监视 Linux 系统上的活动。本文介绍了这两个命令的一些有用的使用方法。

watch 和 tail 命令为持续监视 Linux 系统上的活动提供了一些有趣的选项。

也就是说,你可以通过 watch 来显示谁已登录,并随着用户登录和注销不断更新,而不是仅仅提出问题并获得答案(例如询问 who 并获取当前登录用户的列表)。

使用 tail,你可以显示文件的底部并在添加内容时查看内容。这种监控一般非常有用,并且比定期运行命令所需的工作更少。

使用 watch 命令

使用 watch 的最简单示例之一是使用命令 watch who。你会看到一个列表,其中显示了谁登录了,以及他们登录的时间和登录位置。请注意,默认设置是每两秒更新一次显示(左上角),日期和时间(右上角)将按该间隔自行更新。用户列表将随着用户登录和注销而增长和缩小。

  1. $ watch who

此命令将显示如下所示的登录列表:

  1. Every 2.0s: who dragonfly: Thu Feb 27 10:52:00 2020
  2. nemo pts/0 2020-02-27 08:07 (192.168.0.11)
  3. shs pts/1 2020-02-27 10:58 (192.168.0.5)

你可以通过添加 -n 选项(例如 -n 10)来修改更新间的不同秒数,以修改更新间隔,从而获取较少的更新频率。

  1. $ watch -n 10 who

上述命令将以新的间隔显示,并且显示的时间更新频率较低,从而使显示时间与所选间隔保持一致。

  1. Every 10.0s: who dragonfly: Thu Feb 27 11:05:47 2020
  2. nemo pts/0 2020-02-27 08:07 (192.168.0.11)
  3. shs pts/1 2020-02-27 10:58 (192.168.0.5)

如果你希望仅查看命令的输出,而不是标题(前 2 行),则可以通过添加 -t(无标题)选项来省略这些行。

  1. $ watch -t who

然后,你的屏幕将显示如下所示:

  1. nemo pts/0 2020-02-27 08:07 (192.168.0.11)
  2. shs pts/1 2020-02-27 10:58 (192.168.0.5)

如果每次运行监视的命令时,输出都是相同的,则只有标题行(如果未省略)会更改。其余显示的信息将保持不变。

如果你希望 watch 命令在它正在监视的命令的输出发生更新后立即退出,则可以使用 -g(将其视为“离开(go away)”)选项。例如,如果你只是在等待其他人开始登录系统,则可以选择执行此操作。

你还可以使用 -d差异(differences))选项突出显示显示输出中的更改。突出显示只会持续一个间隔(默认为 2 秒),但有助于引起你对更新的注意。

下面是一个更复杂的示例,该示例使用 watch 命令显示正在侦听连接的服务及其使用的端口。虽然输出不太可能更改,但它会提醒你任何新服务正在启动或关闭。

  1. $ watch 'sudo lsof -i -P -n | grep LISTEN'

值得注意的是,正在运行的命令需要用引号扩起来,以确保不会将 watch 命令的输出发送到 grep 命令。

使用 watch -h 命令将为你提供命令选项的列表。

  1. $ watch -h
  2. Usage:
  3. watch [options] command
  4. Options:
  5. -b, --beep beep if command has a non-zero exit
  6. -c, --color interpret ANSI color and style sequences
  7. -d, --differences[=<permanent>]
  8. highlight changes between updates
  9. -e, --errexit exit if command has a non-zero exit
  10. -g, --chgexit exit when output from command changes
  11. -n, --interval <secs> seconds to wait between updates
  12. -p, --precise attempt run command in precise intervals
  13. -t, --no-title turn off header
  14. -x, --exec pass command to exec instead of "sh -c"
  15. -h, --help display this help and exit
  16. -v, --version output version information and exit

使用 tail -f

tail -f 命令与 watch 有一些相同之处。它也会在添加文件时显示文件的底部和其他内容。你不必一次又一次地运行 tail 命令,而是运行一个命令并获得可重复更新显示视图的结果。例如,你可以使用如下命令查看系统日志:

  1. $ tail -f /var/log/syslog

某些文件(如 /var/log/wtmp)不适合这种类型的处理,因为它们的格式不是普通文本文件,但是通过组合 watch 和 tail,你可以获得类似的结果,如下所示:

  1. watch 'who /var/log/wtmp | tail -20'

无论有多少用户仍处于登录状态,此命令都将只显示最近的 5 次登录。如果发生其他登录,显示结果将添加一行记录并删除顶行记录。

  1. Every 60.0s: who /var/log/wtmp | tail -5 dragonfly: Thu Feb 27 12:46:07 2020
  2. shs pts/0 2020-02-27 08:07 (192.168.0.5)
  3. nemo pts/1 2020-02-27 08:26 (192.168.0.5)
  4. shs pts/1 2020-02-27 10:58 (192.168.0.5)
  5. nemo pts/1 2020-02-27 11:34 (192.168.0.5)
  6. dory pts/1 2020-02-27 12:14 (192.168.0.5)

对你有时可能想要监视的信息,无论监视进程、登录名还是系统资源,watch 和 tail -f 命令都可以提供自动更新视图,从而使监视任务变得更加容易。


via: https://www.networkworld.com/article/3529891/watching-activity-on-linux-with-watch-and-tail-commands.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:Starryi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
书赵熙《过夔州》并记我如何在 Linux 上扫描家庭照片 | Linux 中国你的 Linux 启动时有几只小企鹅? | Linux 中国分享 8 篇使用 Linux 命令行的技巧 | Linux 中国在 Linux 上使用 Bash 创建一个临时文件 | Linux 中国上一个说“丼”不读jǐng的人,已经被我骂哭了微软还有另一个 Linux 发行版,而且是基于 Debian 的 | Linux 中国俄乌战争浪漫主义的答案天地有情亦伤春---Mount Kent North RidgeLinux 中国开通播客频道:“开源朗读者”和“硬核观察” | Linux 中国Linux 命令行小技巧 – !叹号的用处如何在 Linux 和 Windows 电脑之间共享文件 | Linux 中国【糖醋小排】Linux 中 ss 命令的使用实例Fudgie?令人惊叹的 Budgie 桌面即将登陆 Fedora Linux | Linux 中国在 Ubuntu Linux 如何安装 H.264 解码器 | Linux 中国在虚拟机中运行 Linux 的十大优点 | Linux 中国从命令行远程配置 Xfce4 工作区 | Linux 中国Linux Lite 6.0 发布:弃用 Firefox,默认浏览器使用 Chrome | Linux 中国如何在 Linux 桌面中启用 “激活 Linux” 水印通知 | Linux 中国如何通过 chroot 恢复 Arch Linux 系统 | Linux 中国好消息!Docker Desktop 现已支持 Linux | Linux 中国实测 Linux Mint 升级工具 | Linux 中国一辈子!恨这个人!使用 Linux 上的开源财务工具 Skrooge 管理你的预算 | Linux 中国最适合程序员的 10 款 Linux 发行版 | Linux 中国用 Gwenview 在 Linux 上裁剪和调整照片大小 | Linux 中国使用 apt 进行 Linux 包管理 | Linux 中国如何在 Linux 中使用 Pandoc 转换文件格式 | Linux 中国Archinstall 新的菜单系统让安装 Arch Linux 更容易了 | Linux 中国使用 dnf 进行 Linux 包管理 | Linux 中国HydraPaper:一个支持多显示器的 Linux 壁纸管理器 | Linux 中国在 Linux 上使用 sudo 命令的 5 个理由 | Linux 中国英伟达在提升 Linux 上的 GPU 使用体验上迈出了一大步 | Linux 中国Fedora Linux 36 发布 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。