Linux 应用服务器上查找日志,定位错误的识用技巧

转自:吉叔说Java Linux 应用服务器上查找日志,定位错误的识用技巧

tail

tail -n 10 test.log 查询日志尾部最后10行的日志;

tail -n +10 test.log 查询10行之后的所有日志;

head

head -n 10 test.log 查询日志文件中的头10行日志;

head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;

cat

cat -n test.log | grep 'error' 查询日志中含有某个关键字的信息,显示出行号

less

命令格式:less [参数] 文件

命令参数:

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

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

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

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

-i 忽略搜索时的大小写

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

-N 显示每行的行号

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

-Q 不使用警告音

-s 显示连续空行为一行

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

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

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

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

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

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

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

附加:

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

2.单行导航

j - 向前移动一行

k - 向后移动一行

3.其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

4.其它有用的命令

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

h - 显示 less 的帮助文档

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

5.标记导航

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

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

'a - 导航到标记 a 处

6.查找

more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开

场景

场景1: 按行号查看---过滤出关键字附近的日志

因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.

我是这样做的,首先: cat -n test.log | grep "地形" 得到关键日志的行号

如得到"地形"关键字所在的行号是102行. 此时如果我想查看这个关键字前10行和后10行的日志:

cat -n test.log |tail -n +92|head -n 20

tail -n +92表示查询92行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

场景2:查看指定时间段内的日志

sed -n '/2017-02-23 10:00:00/,/2017-02-23 10:06:23/p' test.log
sed -n '/2017-02-23 10:00:/,/2017-02-23 10:06:/p' test.log

这个需要注意的地方是10:00:00或者10:00必须出现过.
如果没有任何日志出现.请先查看是否存在

grep "2017-02-23 10:00" test.log

场景3:查看日志中特定字符的匹配数目

grep "abcd" test.log | wc -l

场景4:实时查看日志

tail -f test.log

场景5:查询最后20行,并查找关键字“结果”

tail -n 20 test.log | grep '结果'

场景6:查询最后20行,并查找关键字“结果”,文字标红

tail -n 20 test.log | grep '结果' --color

场景7:查询最后20行,并查找关键字“结果”,文字标红,上下扩展两行

tail -n 20 test.log | grep '结果' --color -a2

场景8:分页查看,使用空格翻页(使用more/less)

cat -n test.log | grep "error" | more

场景9:日志文件超大时,使用vim查找

vim test.log 打开文件

ctrl + g 移动至文件末尾

:? com.fm.fdata 从最后往上查找关键字,点N往上

场景10:浏览多个文件

less test2.log test.log

输出:

1  ifconfig

2  ping www.baidu.com

3  ifconfig

4  //10.128.161.108/share

5  10.128.161.108/share

6  ssh

7  keygen

8  trsa

9  ssh

10  .ssh/


 test2.log (file 1 of 2) (END) - Next: test.log

输入 :n后,切换到 test.log

输入 :p 后,切换到test2.log

ps:当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。

命令:

less file1
:e file2

你可能感兴趣的:(Linux 应用服务器上查找日志,定位错误的识用技巧)