使用linux查看日志排除bug是不少開發(fā)和測試人員的必備技能,為了更好的使用,所以百度結(jié)合自己經(jīng)驗總結(jié)一下常用的日志查看部分相關(guān)命令。大家可以隨時更新提出質(zhì)疑一同進步。
一、常用命令
tail head cat tac less more
-
tail:
n 是顯示行號相當于nl命令 tail -100f test.log 實時監(jiān)控100行日志 tail -n 10 test.log 查詢?nèi)罩疚膊孔詈?0行的日志; tail -n +10 test.log 查詢10行之后的所有日志; -
head
跟tail是相反的head是看前多少行日志 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)鍵字的日志 -
more
是將文件從第一行開始,根據(jù)輸出窗口的大小,適當?shù)妮敵鑫募?nèi)容。當一頁無法全部輸出時,可以用“回車鍵”向下翻行,用“空格鍵”向下翻頁。退出查看頁面,請按“q”鍵。另外,more還可以配合管道符“|”(pipe)使用,例如:ls -al | more more的語法:more 文件名 Enter 向下n行,需要定義,默認為1行 Ctrl f 向下滾動一屏 空格鍵 向下滾動一屏 Ctrl b 返回上一屏 = 輸出當前行的行號 :f 輸出文件名和當前行的行號 v 調(diào)用vi編輯器 ! 命令 調(diào)用Shell,并執(zhí)行命令 q 退出more -
less
less與more類似,使用less可以隨意瀏覽文件,而more僅能向前移動,不能向后移動,而且 less 在查看之前不會加載整個文件。 less log2013.log 查看文件 ps -ef | less ps查看進程信息并通過less分頁顯示 history | less 查看命令歷史使用記錄并通過less分頁顯示 less log2013.log log2014.log 瀏覽多個文件 常用命令參數(shù): -b <緩沖區(qū)大小> 設(shè)置緩沖區(qū)的大小 -g 只標志最后搜索的關(guān)鍵詞 -i 忽略搜索時的大小寫 -m 顯示類似more命令的百分比 -N 顯示每行的行號 -o <文件名> 將less 輸出的內(nèi)容在指定文件中保存起來 -Q 不使用警告音 -s 顯示連續(xù)空行為一行 /字符串:向下搜索"字符串"的功能 ?字符串:向上搜索"字符串"的功能 n:重復前一個搜索(與 / 或 ? 有關(guān)) N:反向重復前一個搜索(與 / 或 ? 有關(guān)) b 向后翻一頁 h 顯示幫助界面 q 退出less 命令在 less 查看日志文件時: 一般流程是: cd /opt/logs export LANG=zh_cn.utf-8 有時候使用less命令會發(fā)現(xiàn)亂碼時使用 locale可查看當前設(shè)置 less -mns newecc-all.log-2018-05-28 顯示行號百分比和空行會比較直觀 按g到 第一行 shift + g 跳轉(zhuǎn)到最后一頁 ? 和 / 后面加檢索內(nèi)容都可以進行當前文本關(guān)鍵字的查找 shift+n/n 分別是向下/上查詢此關(guān) 鍵字內(nèi)容
二、常用場景
- 按行號查看---過濾出關(guān)鍵字附近的日志
1. 得到關(guān)鍵日志的行號
cat -n test.log |grep "debug"
2. 選擇關(guān)鍵字所在的中間一行. 然后查看這個關(guān)鍵行數(shù)前后范圍日志:
cat -n test.log |tail -n +92|head -n 20
---tail -n +92表示查詢92行之后的日志
---head -n 20 則表示在前面的查詢結(jié)果里再查前20條記錄
- 根據(jù)日期查詢?nèi)罩?/li>
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 來確定日志中是否有該 時間點
- 日志內(nèi)容特別多,打印在屏幕上不方便查看
1. 使用more和less命令
cat -n test.log |grep "debug" |more
---這樣就分頁打印了,通過點擊空格鍵翻頁
2.使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
cat -n test.log |grep "debug" >debug.txt