1.查看日志常用命令
? ? tail: ?
? ? ? ?-n ?是顯示行號心软;相當(dāng)于nl命令霹崎;例子如下:
? ? ? ? ? ? tail -100f test.log ? ? ?實時監(jiān)控100行日志
? ? ? ? ? ? tail? -n? 10? test.log ? 查詢?nèi)罩疚膊孔詈?0行的日志;
? ? ? ? ? ? tail -n +10 test.log??? 查詢10行之后的所有日志;
? ? head: ?
跟tail是相反的,tail是看后多少行日志茫船;例子如下:
? ? ? ? ? ? head -n 10? test.log ? 查詢?nèi)罩疚募械念^10行日志;
? ? ? ? ? ? head -n -10? test.log ? 查詢?nèi)罩疚募俗詈?0行的其他所有日志;
? ? cat:?
tac是倒序查看,是cat單詞反寫;例子如下:
cat -n test.log |grep "debug" ? 查詢關(guān)鍵字的日志
2. 應(yīng)用場景一:按行號查看---過濾出關(guān)鍵字附近的日志
? ? ?1)cat -n test.log |grep "debug"? 得到關(guān)鍵日志的行號
2)cat -n test.log |tail -n +92|head -n 20 ?選擇關(guān)鍵字所在的中間一行. 然后查看這個關(guān)鍵字前10行和后10行的日志:
? ? ? ? ? ? tail -n +92表示查詢92行之后的日志
? ? ? ? ? ? head -n 20 則表示在前面的查詢結(jié)果里再查前20條記錄
3. 應(yīng)用場景二:根據(jù)日期查詢?nèi)罩?/p>
? ? ? sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'? test.log
? ? ? 特別說明:上面的兩個日期必須是日志中打印出來的日志,否則無效溃肪;
? ? ? ? ? ? ? ? ? ? ? 先 grep '2014-12-17 16:17:20' test.log 來確定日志中是否有該 時間點
4.應(yīng)用場景三:日志內(nèi)容特別多,打印在屏幕上不方便查看
? ? (1)使用more和less命令,
? ? ? ? ? ?如: cat -n test.log |grep "debug" |more???? 這樣就分頁打印了,通過點擊空格鍵翻頁
? ? (2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
如:cat -n test.log |grep "debug"? >debug.txt