linux日志查询技巧

大日志文件查找日志

split命令对日志文件进行分割

   
split -1000 xxx.log newlog

然后

组合查讯警告及其他信息

   
cat start.log | grep WARNING

正则表达式查讯信息

   
cat start.log | grep [0-9][0-9]

-参考:

1.tail(用于显示指定文件末尾内容)

tail[-f][-cNumber|-nNumber|-mNumber|-bNumber|-kNumber][File]

参数解释:

-f该参数用于监视File文件增长。

-cNumber从Number字节位置读取指定文件

-nNumber从Number行位置读取指定文件。

-mNumber从Number多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。

-bNumber从Number表示的512字节块位置读取指定文件。

-kNumber从Number表示的1KB块位置读取指定文件。

实例:

       
tail -f start.log

可以查看残生日志的最后几行,也可以实时的查询日志,最后ctrl+c结束

2.more(可以按页来查看文件的内容,还支持直接跳转行等功能)

more[-dlfpcsu][-num][+/pattern][+linenum][file...]

参数解释:

+n从笫n行开始显示

-n定义屏幕大小为n行

+/pattern在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

-c从顶部清屏,然后显示

-d提示“Pressspacetocontinue,’q’toquit(按空格键继续,按q键退出)”,禁用响铃功能

-l忽略Ctrl+l(换页)字符

-p通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s把连续的多个空行显示为一行

-u把文件内容中的下画线去掉

常用操作命令:

Enter向下n行,需要定义。默认为1行

Ctrl+F向下滚动一屏

空格键向下滚动一屏

Ctrl+B返回上一屏

=输出当前行的行号

:f输出文件名和当前行的行号

V调用vi编辑器

!命令调用Shell,并执行命令

q退出more

实例:

       
more +12 start.log

查询12行以后的日志

3.cat(常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。)

参数解释:

-A,--show-all等价于-vET

-b,--number-nonblank对非空输出行编号

-e等价于-vE

-E,--show-ends在每行结束处显示$

-n,--number对输出的所有行编号,由1开始对所有输出的行数编号

-s,--squeeze-blank有连续两行以上的空白行,就代换为一行的空白行

-t与-vT等价

-T,--show-tabs将跳格字符显示为^I

-u(被忽略)

-v,--show-nonprinting使用^和M-引用,除了LFD和TAB之外

实例

       
cat start.log

显示start.log

4.less(日志查看及搜索)

参数解释:

-b<缓冲区大小>设置缓冲区的大小

-e当文件显示结束后,自动离开

-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g只标志最后搜索的关键词

-i忽略搜索时的大小写

-m显示类似more命令的百分比

-N显示每行的行号

-o<文件名>将less输出的内容在指定文件中保存起来

-Q不使用警告音

-s显示连续空行为一行

-S行过长时间将超出部分舍弃

-x<数字>将“tab”键显示为规定的数字空格

常用操作命令:

j-向前移动一行

k-向后移动一行

G-移动到最后一行

g-移动到第一行

q/ZZ-退出less命令

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与/或?有关)

N:反向重复前一个搜索(与/或?有关)

b向后翻一页

d向后翻半页

h显示帮助界面

Q退出less命令

u向前滚动半页

y向前滚动一行

空格键滚动一行

回车键滚动一页

[pagedown]:向下翻动一页

[pageup]:向上翻动一页

ctrl+F-向前移动一屏

ctrl+B-向后移动一屏

ctrl+D-向前移动半屏

ctrl+U-向后移动半屏

v-使用配置的编辑器编辑当前文件

h-显示less的帮助文档

&pattern-仅显示匹配模式的行,而不是整个文件

当使用less查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma-使用a标记文本的当前位置

'a-导航到标记a处

实例

      
less start.log

5.vi

常用操作命令:

h:光标左移一个字符

l:光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n:光标下移一行

Enter:光标下移一行

w或W:光标右移一个字至字首

b或B:光标左移一个字至字首

e或E:光标右移一个字至字尾

):光标移至句尾

(:光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

H:光标移至屏幕顶行

M:光标移至屏幕中间行

L:光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾

实例

      
vi start.log

6.spilt

split[-n]file[name]

参数解释:

-n:指定截断的每一文件的长度,不指定缺省为1000行

file:要截断的文件

name:截断后产生的文件的文件名的开头字母,不指定,缺省为x,即截断后产生的文件的文件名为xaa,xab....直到xzz

实例

split -50 start.log start_child

产生:start_childaastart_childab....

7.grep

grep[options]

参数解释

-c:只输出匹配行的计数。

-I:不区分大小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\:忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$:匹配正则表达式的结束行。

\<:从匹配正则表达式的行开始。

\>:到匹配正则表达式的行结束。

[]:单个字符,如[A]即A符合要求。

[-]:范围,如[A-Z],即A、B、C一直到Z都符合要求。

。:所有的单个字符。

*:有字符,长度可以为0。

实例

       
history | grep cp

查询cp命令使用历史

相关推荐