本文目录导读:

在脚本中过滤 dmesg 日志,常用方法如下:
基础过滤 - grep
# 过滤包含特定关键词 dmesg | grep "error" dmesg | grep -i "usb" # 忽略大小写 # 组合过滤 dmesg | grep -E "error|fail|warn"
按级别过滤
# 按日志级别过滤 (0-7) dmesg -l err # 只显示错误 dmesg -l warn # 只显示警告 dmesg -l info # 只显示信息 # 组合级别 dmesg -l err,warn,crit
级别说明:
emerg(0) - 紧急alert(1) - 警报crit(2) - 严重err(3) - 错误warn(4) - 警告notice(5) - 注意info(6) - 信息debug(7) - 调试
按时间/序号过滤
# 显示最新N条 dmesg | tail -n 20 # 按时间范围(需要先启用时间戳) dmesg -T | grep "Mar 15" # 过滤3月15日 # 从特定序号开始 dmesg | tail -n +1000 | head -20 # 从第1000条开始显示20条
按设备/驱动过滤
# 特定设备 dmesg | grep -i "sda\|sdb\|nvme" dmesg | grep -i "network\|eth\|wlan" # USB设备 dmesg | grep -i "usb" dmesg | grep -i "hid\|mouse\|keyboard"
脚本中的实用写法
#!/bin/bash
# 1. 实时监控新日志
dmesg --follow &
PID=$!
sleep 5
kill $PID
# 2. 检测特定错误后退出
while true; do
if dmesg | grep -q "Out of memory"; then
echo "检测到OOM错误" >&2
break
fi
sleep 2
done
# 3. 保存过滤结果到变量
errors=$(dmesg -l err | grep "critical")
if [ -n "$errors" ]; then
echo "发现严重错误:"
echo "$errors"
fi
# 4. 时间范围过滤 (示例:过去5分钟)
dmesg -T | awk -v d="$(date -d '-5 min' '+%b %e %H:%M')" '$0 >= d'
高级过滤技巧
# 正则匹配多关键词
dmesg | grep -P "(error|fail|critical|fatal)"
# 排除特定内容
dmesg | grep "error" | grep -v "soft" # 包含error但不包含soft
# 统计各类错误数量
dmesg -l err,warn | awk '{print $5}' | sort | uniq -c
# 使用jq处理(结构化输出)
dmesg --json | jq '.[] | select(.level == "err")'
监控新日志(类似 tail -f)
# 持续监控,显示新产生的日志
dmesg -w
# 在脚本中监控,处理新出现的错误
dmesg -w | while read line; do
if echo "$line" | grep -q "error\|critical"; then
echo "[ALERT] 检测到错误: $line"
# 执行告警操作
fi
done
常用过滤组合示例
# 检查磁盘错误 dmesg | grep -E "I/O error|buffer I/O|ata.*fail|DRDY|UNC" # 检查内存问题 dmesg | grep -E "Out of memory|OOM|memory corruption" # 检查网络问题 dmesg | grep -E "network|link down|carrier lost"
注意事项:
- 使用
-T参数将时间戳转为可读格式 - 日志可能被循环覆盖,
dmesg -c会清空日志 - 在脚本中注意权限(通常需要 root)
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播