日志是系统运行的重要文件,当系统发生错误,查看日志文件是很是有必要的。可是,当文件过大时,就不能用vi 进行所有查看,须要相应的日志查看命令。若是想查看日志中的某几行,可使用tail 、head、sed命令,若是想在日志中匹配关键字内容,可使用grep命令,若是想让日志文件进行建立、整合添加、显示整个文件内容可使用cat命令,cat从第一行开始开始正向显示日志内容,与此相反有个tac命令,能够从最后一行开始显示内容。正则表达式
下面详细介绍一下各命令具体使用状况:express
tailvim
参数: tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 工具
参数说明: spa
File 指定操做的目标文件名称 .net
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可以使用正负号,表示该偏移从顶部仍是从尾部開始计算。 日志
tail可运行文件通常在/usr/bin/如下。blog
head
head 仅仅显示前面几行内存
示例:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其余全部日志;io
grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep [options] 主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的全部行。
pattern正则表达式主要参数
:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[-]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:全部的单个字符。
- :有字符,长度能够为0。
sed
sed -n '5,10p' filename 说明:只查看文件的第5行到第10行。
cat
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘建立一个文件。$ cat > filename 只能建立新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对全部输出的行数编号
-b 或 --number-nonblank 和 -n 类似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
tac 是将 cat 反写过来,因此他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上, 而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
日志最常使用的三种操做命令
第一种:查看实时变化的日志(比较吃内存)
最经常使用的:
tail -f filename (默认最后10行,至关于增长参数 -n 10)
Ctrl+c 是退出tail命令
其余状况:
tail -n 20 filename (显示filename最后20行)
tail -n +5 filename (从第5行开始显示文件)
第二种:搜索关键字附近的日志
最经常使用的:cat -n filename |grep "关键字"
其余状况:
第三种:进入编辑查找:vi(vim)
一、进入vim编辑模式:vim filename
二、输入“/关键字”,按enter键查找
三、查找下一个,按“n”便可
退出:按ESC键后,接着再输入 :号 时,vi会在屏幕的最下方等待咱们输入命令
wq! 保存退出;
q! 不保存退出;
其余状况:
/关键字 注:正向查找,按n键把光标移动到下一个符合条件的地方
?关键字 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
参考连接: