知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

应知应会:在linux/unix上分析程序日志的技巧

发布时间:2014-09-05 17:28:15作者:知识屋

我们的应用运行在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 即可。

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜