歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 在linux/unix上分析程序日志的技巧

在linux/unix上分析程序日志的技巧

日期:2017/3/2 16:38:58   编辑:Linux服務器

我們的應用運行在linux 上,很多同事對命令行操作有恐懼感,於是為了分析 linux 上程序的日志,采用的是 FTP+Ultraedit 方法。這種方式不方便、實時性不夠,也不夠專業。如果碰到幾百兆甚至上G 的日志文件,這種分析方式的效率也很成問題,尤其是需要實施跟蹤日志的情況下。

  於是我把在 linux 上分析程序日志的幾個常用指令及其配合使用總結一下,希望對大家有所幫助。

  指令介紹:

  more :

  作用:該指令,可以將文件的內容,從前向後,每次一屏,打印到終端屏幕上。

  用法:

  more filename

  顯示一屏信息後,’ 空格’ 向下翻一屏,’ 回車’ 向下翻一行,’ q ‘ 退出。

  cat :

  作用:該指令本來的作用,是將多個文件的內容合並起來,打印到標准輸出,但最常見的用法是顯示一個文件的內容,但文件比較大的情況,屏幕會很快滾動,無法查看有效信息,建議使用 more 。

  用法:

  cat filename

  grep :

  作用:打印文件或者標准輸入中符合特定模式的行,該指令是從日志文件中檢索特定信息的最有效手段。

  用法:

  1、 基本用法

  grep pattern filename

  如:

  grep “error” catalina.out

  可以將 tomcat 日志 catalina.out 中所有包含 error 的行顯示出來

  2、 使用正則表達式

  grep -e “pattern” filename

  如:

  grep -e “[eE]rror” catalina.out

  可以將 tomcat 日志 catalina.out 中所有包含 error 或者 Error 的行顯示出來

  3、 常用選項

  -i 匹配時忽略大小寫

  -n 在打印的行前顯示該行在原文件中的行號

  -v 該選項,將 grep 的默認行為翻轉,打印那些不包含特定模式的行

  wc :

  作用:統計文件中的行數、字數和字節數

  用法:

  wc filename

  如:

  [service@localhost threshold]$ wc nohup.out

  9761028 76738200 1672741676 nohup.out

  從前到後的三個數分別是行數、字數、字節數。

  該指令比較常用的參數是 -l ,這個參數可以只統計行數

  [service@localhost threshold]$ wc -l nohup.out

  9761028 nohup.out

  head:

  作用:顯示文件的開頭 N 行

  用法:

  head -num filename

  如:

  head -100 catalina.out

  顯示 catalina.out 的前 100 行

  tail :

  作用:顯示文件的最後 N 行,或者實時顯示文件中新增的內容。

  用法:

  1、 顯示文件最後 N 行

  tail -num filename

  如:

  tail -100 catalina.out

  則顯示 catalina.out 文件的最後 100 行

  2、 實時顯示文件中新增內容

  tail -f filename

  如:

  tail -f catalina.out

  執行該指令,不會直接返回命令行,而是實時打印日志文件中新增加的內容,這一特性,對於查看日志是非常有效的。如果想終止輸出,按 Ctrl+C 即可

Copyright © Linux教程網 All Rights Reserved