【问题标题】:How can I tail dmesg我怎样才能跟踪 dmesg
【发布时间】:2023-02-12 15:05:20
【问题描述】:

我正在使用 Ubuntu 20.04.3 LTS。我正在尝试监控与我的 Arduino 连接的串行端口。 我看到我的朋友使用以下命令(他在我的笔记本电脑上执行):

tail -f {dmesg,syslog} | grep -i tty

每当我插入和拔出 arduino 时,终端总是保持显示串行端口名称及其状态。但是当我自己尝试时,它说没有这样的文件或目录。我搜索并尝试了以下命令:

tail -f var/log/dmesg
tail -f var/log/{dmesg,syslog}

但它似乎没有显示串口或跟上条件。你能帮我出主意吗?

【问题讨论】:

  • 您可能在 var 前面少了一个斜线?
  • 使用dmesg -w
  • 是的,我做了 dmesg -w 并且它有效。但是在 var 前面斜杠?我稍后再试

标签: linux


【解决方案1】:

您可以使用

dmesg -W | grep -i tty

-w, --follow

等待新消息。此功能仅在具有可读 /dev/kmsg 的系统上受支持(自内核 3.5.0 起)。

所以输出将是这样的

rexter@rexter:/media/rexter/REXDRIVE$ dmesg -w | grep -i tty
[    0.112876] printk: console [tty0] enabled
[  332.500320] Bluetooth: RFCOMM TTY layer initialized

如果你只想获取新消息并想隐藏旧消息,请使用-W

-W, --follow-new

等待并仅打印新消息。

奖金: 使用-T获取时间戳,这样就可以得到接收日志的时间。

谢谢 :)

【讨论】: