前言:
分析日志是定位问题的常用手段,但实际线上可能有大量日志,掌握一些常见查看、过滤和分析日志的命令能起到事半功倍的效果。下面列出工作中最常用的一些命令,可在具体使用是查看,尝试使用。实际使用使往往是下面几种命令的组合使用。
less
特点:不加载文件(文件比较大的时候vim会比较卡顿),可以查找
less error.log 直接打开
less -N error.log 显示行号打开
定位到某一行 ng,如100行为100g
定位最后一行 GG
搜索:
/ 使用一个模式进行搜索,并定位到下一个匹配的文本
n 向前查找下一个匹配的文本
N 向后查找前一个匹配的文本
tail
特点:从末尾显示指定行数,可持续打印
tail -400f error.log #监控最后400行日志文件的变化
等同于 tail -n 400 -f error.log(-f参数是实时)
grep
特点:按照正则表达式过滤
常用显示相关上线文
-B 行数 向后显示n行
-A 行数 向前显示n行
-C 行数 上下各n行
-i 忽略大小写
-v 反向匹配,选出没匹配上的内容
例如:grep "error" -A 5 -B 10 error.log 显示文件中 error和其前10行和后5行
sed
特点:按照设定格式修改、过滤等。如果把grep比作过滤器,那sed就是个修改器了。
sort
特点:自定义排序
awk
特点:统计