| 命令分类 | 命令 & 核心参数 | 功能说明 | 典型示例 | ||
|---|---|---|---|---|---|
| 实时动态跟踪 | tail -f 日志文件 |
实时滚动查看日志尾部,文件重命名后失效 | tail -f app.log |
||
tail -F 日志文件 |
自动跟踪切割后的新日志文件,线上首选 | tail -F /var/log/nginx/access.log |
|||
less +F 日志文件 |
实时跟踪 + 暂停翻阅 + 关键字搜索 | less +F error.log(按Ctrl+C暂停,F恢复) |
|||
multitail 日志1 日志2 |
分屏同时监控多个日志 | multitail app.log db.log(需先安装) |
|||
| 静态日志查阅 | cat 日志文件 |
一次性读取全部日志,适合小文件 | cat -n test.log(显示行号) |
||
more 日志文件 |
向下分页查看,空格翻页 | more large.log |
|||
less 日志文件 |
上下翻页 + 搜索,大文件首选 | less system.log(/关键字搜索,q退出) |
|||
head -n N 日志文件 |
查看日志前 N 行(默认前 10 行) | head -n 50 startup.log |
|||
| 关键字筛选 | grep [参数] 关键字 日志 |
按关键字过滤日志 | grep -i "error" app.log(忽略大小写) |
||
grep -n 关键字 日志 |
显示匹配行的行号 | grep -n "WARN" service.log |
|||
grep -C N 关键字 日志 |
显示匹配行上下 N 行上下文 | grep -C 5 "NullPointerException" app.log |
|||
| `grep -E" 关键字 1 | 关键字 2"日志` | 同时匹配多个关键字 | `grep -E "ERROR | FATAL" system.log` | |
| 压缩日志处理 | zcat 压缩日志.gz |
查看.gz 压缩日志全文 | zcat app.log.gz |
||
zless 压缩日志.gz |
分页查看.gz 压缩日志 | zless error.log.gz |
|||
zgrep 关键字 压缩日志.gz |
筛选.gz 压缩日志内容 | zgrep "Timeout" api.log.gz |
|||
| 日志进阶处理 | `grep 关键字 日志 | sort | uniq -c` | 统计关键字出现次数 | `grep "ERROR" app.log |
| `grep 关键字 日志 | wc -l` | 统计匹配行总数 | `grep "404" nginx.log | wc -l` | |
split -l N 日志 文件前缀 |
按行数切割大日志 |
高频组合拳(直接复制用)
- 实时监控并筛选报错:
tail -F app.log | grep -i "error" - 查报错 + 上下文:
grep -C 10 "Timeout" service.log - 统计报错频次并排序:
grep "ERROR" app.log | sort | uniq -c | sort -nr - 查看压缩日志的报错:
zgrep -C 5 "WARN" app.log.gz