Linux日志查看命令速查表
📝 Linux 日志查看命令速查表
🔍 实时查看日志
tail -f catalina.out # 实时查看日志
tail -n 200 catalina.out # 查看最后 200 行
tail -fn 1000 test.log | grep "ERROR" # 实时查看并过滤关键字
📑 查看日志内容
cat filename # 输出整个文件
head -n 50 filename # 查看前 50 行
tail -n 50 filename # 查看最后 50 行
📖 分页查看日志
more filename # 只能往下翻页
less filename # 可上下翻页、支持搜索
less -N catalina.out # 显示行号
# less 常用快捷键:
# /keyword 向下搜索
# ?keyword 向上搜索
# n/N 下/上一个结果
# g/G 跳到开头/结尾
# q 退出
🎯 搜索日志
grep "ERROR" log.log # 查找关键字
grep -i "error" log.log # 忽略大小写
grep -n "ERROR" log.log # 显示行号
grep --color=auto "ERROR" log.log # 高亮关键字
grep -A 5 -B 5 "ERROR" log.log # 前后 5 行
⏳ 时间段日志
sed -n '/2025-10-01 10:00/,/2025-10-01 12:00/p' catalina.out
🔢 按行号查看
sed -n "100,120p" catalina.log # 查看第100~120行
cat -n catalina.log | tail -n +90 | head -n 20
📂 大日志处理技巧
cat app.log | grep "关键字" | less # 分页查看
grep "Exception" app.log > error.log # 导出关键字到文件
📌 常用组合
- 实时关键字监控:
tail -fn 300 catalina.out | grep "ERROR"
- 查看异常上下文:
grep -C 10 "Exception" app.log
- 指定时间段搜索:
sed -n '/10:00/,/12:00/p' app.log | grep "ERROR"
日志筛选技巧
1. 关键字搜索(grep
)
需求 | 命令示例 | 说明 |
---|---|---|
基础搜索 | grep '验证码' app.log | 筛选包含“验证码”的行 |
忽略大小写 | grep -i 'error' app.log | 同时匹配 Error/ERROR/error |
显示行号 | grep -n '超时' server.log | 输出匹配行号 + 内容 |
高亮关键字 | grep --color=auto '异常' app.log | 匹配内容自动标红(也可简写为 --color ) |
显示上下文 N 行 | grep -A 5 -B 3 '错误' app.log | 匹配行前 3 行、后 5 行,-C 5 表示前后各 5 行 |
💡 示例:
定位 “抓不到我” 附近日志(前后 100 行)
grep -A 100 -B 100 -i '抓不到我' catalina.out
2. 按行号筛选(sed
/ cat + tail + head
)
需求 | 命令示例 | 说明 |
---|---|---|
查看第 92-112 行 | sed -n "92,112p" catalina.log | 仅输出指定范围的行 |
第 102 行 ±10 行 | `cat -n catalina.log | tail -n +92 |
3. 按时间段筛选(sed
+ grep
)
日志需包含标准时间格式(如 2024-05-20 14:30:00
)。
需求 | 命令示例 | 说明 |
---|---|---|
时间段截取 | sed -n '/2024-05-20 14:30:00/,/2024-05-20 16:00:00/p' catalina.out | 输出两时间点之间的所有日志 |
时间段 + 关键字 | `sed -n ‘/14:30:00/,/16:00:00/p’ catalina.out | grep ‘接口请求’` |
保存结果到文件 | sed -n '/14:30:00/,/16:00:00/p' catalina.out > ~/target.log | 将筛选日志另存到文件 |
4. 分屏与导出结果
当日志结果过多,可使用 分屏工具 或 文件导出 提升效率:
- 分屏查看
grep '地形' test.log | more
(空格翻页)grep '地形' test.log | less
(支持前后翻页与搜索)
- 结果导出
- 覆盖写入:
grep '地形' test.log > ~/terrain_log.txt
- 追加写入:
grep '地形' test.log >> ~/terrain_log.txt
- 覆盖写入:
四、命令选择建议
场景 | 推荐命令 | 理由 |
---|---|---|
实时监控服务日志 | tail -f | 动态追踪新增内容,资源占用低 |
大文件交互式查看 | less -N | 翻页/搜索/定位,性能最佳 |
快速查看头部 / 尾部内容 | head / tail | 轻量快速,不加载全文件 |
精准筛选关键字 / 时间段 | grep + sed | 组合使用,灵活高效 |
合并 / 创建 / 清空文件 | cat | 简单直接,适合文件操作 |
📌 小结:
- grep:关键词过滤
- sed:范围/时间段提取
- tail -f:实时监控
- less:大文件分析