linux实用命令之日志查询

第一种:查看实时变化的日志(比较吃内存)

    最常用的:

    tail -f app.log  (默认最后10行,相当于增加参数 -n 10)

tail -200f app.log (最后200行,某一时刻往前推)

tail -f catalina.out | grep --line-buffer "发送邮件" (实时查看tomcat的控制台日志中,含有“发送邮件”关键字的记录)

tail -f catalina.out | grep --line-buffer -E "发送邮件|接收到"(grep筛选多个关键字:满足任意一个条件)

tail -f catalina.out | grep --line-buffer "发送邮件" | grep --line-buffer "异常报警" (grep筛选多个关键字:同时满足多个条件)

注:–line-buffer : 每输出一行,就刷新一次

    Ctrl+c 是退出tail命令

    其他情况:

    tail -n 20 app.log  (显示app.log最后20行)

    tail -n +5 app.log  (从第5行开始显示文件)

第二种:搜索关键字附近的日志

    最常用的:

    cat -n filename |grep "关键字"

    其他情况:

    cat app.log | grep -C 5 关键字   (显示日志里匹配字串那行以及前后5行)

    cat app.log | grep -B 5 关键字   (显示匹配字串及前5行)

    cat app.log | grep -A 5 关键字   (显示匹配字串及后5行)

第三种:进入编辑查找:vi(vim)

    1、进入vim编辑模式:vi app.log

    2、输入“/关键字”,按enter键查找

    3、查找下一个,按“n”即可( n 查找上一处错误日志 N 查找下一处错误日志)

4、ctrl+f: 下翻一屏。

ctrl+b: 上翻一屏。

ctrl+d: 下翻半屏。

ctrl+u: 上翻半屏。

ctrl+e: 向下滚动一行。

ctrl+y: 向上滚动一行。

5、ctrl+o回到搜索的地方

    退出:按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令

    wq! 保存退出;

    q! 不保存退出;

    其他情况:

    /关键字   注:正向查找,按n键把光标移动到下一个符合条件的地方     ?关键字   注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

第四种:查看所有关键字相关的日志(more 和vi 类似)

more app.log 默认打开所有的,从前往后

常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退 出命令)

1、more app.log | grep 关键字

2、按Space键:显示文本的下一屏内容

3、按B键:显示上一屏内容;

4、按H键:显示帮助屏,该屏上有相关的帮助信息;

第五种 根据时间查看

cat xxx.log |sed -n /2022-7-10 22:16:21/,/2022-7-18 22:16:59/p abc.log

经验分享 程序员 微信小程序 职场和发展