一:關鍵字
Linux命令 根據關鍵字查詢日志
1.單個文件可以使用vi或vim編輯器打開日志文件,使用編輯器里的查找功能。在查看模式下,符號/后面跟關鍵字向下查找,符號?后面跟關鍵字向上查找,按n查找下一個,按N查找上一個。
2.多個文件可以使用grep命令,比如 grep ERROR /var/log/messages*。會把匹配到ERROR這個關鍵字的行和所在的日志文件直接輸出到屏幕。
3.還可以使用cat命令后面使用grep過濾等方法,不如上面兩個實用。上面兩個較常用。
常用到的命令
1.VI:單個文件可以使用vi或vim編輯器打開日志文件,使用編輯器里的查找功能。在查看模式下,符號/后面跟關鍵字向下查找,符號?后面跟關鍵字向上查找,按n查找下一個,按N查找上一個。
2.grep命令:cat 1.log | grep key 可以寫為: grep key 1.log
根據字符串查詢日志中關鍵詞出現的位置:cat -n 日志文件| grep 'keyword'
例:cat -n 1.log | grep 'keyword'
檢索日志,並顯示該條日志的前后N(10)行記錄:cat 日志文件 | grep -n -B10 -A10 "關鍵字"
二:時間
1.查看某段時間內的日志: sed -n '/起始時間/,/結束時間/p' 日志文件,
2. 查看某段時間內的關鍵字日志:sed -n '/起始時間/,/結束時間/p' 日志文件| grep ‘keyword’
例:sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’
三:查看行數
tail -n 10 日志文件 查詢日志尾部最后10行的日志;
tail -n +10 日志文件 查詢10行之后的所有日志;
head -n 10 日志文件 查詢日志文件中的頭10行日志;
head -n -10 日志文件 查詢日志文件除了最后10行的其他所有日志;
四:備注
如果我們查找的日志很多,打印在屏幕上不方便查看, 有兩個方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 這樣就分頁打印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析.如:
cat -n test.log |grep "地形" >xxx.txt