温馨提示×

怎样过滤debian message输出

小樊
56
2026-09-03 23:06:16
栏目: 智能运维

在 Debian(以及其它使用 systemd 的 Linux 发行版)中,“message 输出”通常指 内核日志 / 系统日志 / journalctl 输出 / dmesg 输出。下面按常见场景说明如何“过滤”。


一、使用 journalctl 过滤 systemd 日志(最常用)

1. 按服务过滤

journalctl -u nginx.service
journalctl -u ssh.service

2. 按时间过滤

journalctl --since "2024-01-01 00:00:00"
journalctl --since "1 hour ago"
journalctl --until "10 minutes ago"

3. 按优先级(重要!)

journalctl -p err
journalctl -p warning

优先级:

  • emerg
  • alert
  • crit
  • err
  • warning
  • notice
  • info
  • debug

4. 按关键字过滤

journalctl | grep "error"
journalctl -u nginx | grep "timeout"

5. 实时过滤

journalctl -f | grep "ssh"

二、使用 dmesg 过滤内核 message

1. 按级别过滤

dmesg -l err,warn

2. 按关键字过滤

dmesg | grep "usb"
dmesg | grep -i "nvme"

3. 实时查看

dmesg -w

三、传统 syslog(/var/log/)

1. 查看并过滤

cat /var/log/syslog | grep "cron"
tail -f /var/log/auth.log | grep "sshd"

2. 常用日志文件

  • /var/log/syslog
  • /var/log/auth.log
  • /var/log/kern.log
  • /var/log/dpkg.log

四、只显示“错误类 message”(推荐组合)

journalctl -p err -b

或

dmesg -l err,crit,alert,emerg

五、如果你指的是“终端命令输出”

例如过滤命令输出:

command 2>&1 | grep "warning"

忽略某些输出:

command 2>/dev/null

如果你能具体说明:

  • 是 journal / dmesg / syslog?
  • 想按 服务 / 时间 / 错误级别 / 关键字 过滤?

我可以给你更精确的命令。

0 踩