前言:
分析日志是定位問題的常用手段,但實際線上可能有大量日志,掌握一些常見查看、過濾和分析日志的命令能起到事半功倍的效果。下面列出工作中最常用的一些命令,可在具體使用是查看,嘗試使用。實際使用使往往是下面幾種命令的組合使用。
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
特點:統計