持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情
在项目报错或者后续的其他问题复查都会去看日志信息、如何高效的找到自己想要的关键内容呢?下列一些linux的常用查找文件内容可能会给你帮助、但是这种只适合查看单机上的某一些日志、如何部署多台的这种需要一台一台找、或者你们使用了其他方式存储日志不将日志信息存放到本地日志文件、将日志信息存放Elasticsearch
使用他的生态中的一些其他技术、最终实现多节点的日志全部放到Elasticsearch
进行全文检索搜索相关的日志信息。
cat基础命令
以下都是基础的命令、比较常用的、可以用于查询项目日志关键内容
# 显示文件内容行数、显示所有文件内容
cat -n ./log_all.log
# 展示文件前十行
cat ./log_all.log |head -n 10
# 展示文件后十行
cat ./log_all.log |tail -n 10
# 模糊匹配文件关键字、并高亮关键字
cat ./log_all.log |grep 程序 --color=auto
# 查看模糊匹配关键字的出现数量
cat ./log_all.log |grep 程序 -c
# 模糊查询匹配关键字前10内容
cat -n ./log_all.log |grep -B10 程序
# 模糊查询匹配关键字后10内容
cat -n ./log_all.log |grep -A10 程序
# 模糊查询匹配关键字上下10内容
cat -n ./log_all.log |grep -C10 程序
# 这种可以显示行号
cat -n ./log_all.log |grep -C10 程序
# 查询多个关键字以|分开
cat ./log_all.log |grep --line-buffer -E '程序|101.43.183.82'
cat ./log_all.log |grep -E '监听器|程序1|6379' # 和上面同样的效果
cat ./log_all.log |egrep '监听器|程序1|6379' # 和上面同样的效果
# 查询多个关键字多个关键字要都在一行内
cat ./log_all.log |grep --line-buffer -E '程序' |grep --line-buffer -E '监听器'
cat ./log_all.log |grep '监听器' |grep '程序' # 和上面同样的效果
cat基础命令展示
cat是Linux下看文件的常用命令简单的使用方式就是cat 查看的文件
、会展示这个文件里面的所有内容。
查看文件
cat a.txt
查看文件前十行
cat a.txt | head -n 10
查看文件后十行
cat a.txt | tail -n 10
查看文件关键字个数
cat a.txt | grep 行 -c
模糊查询匹配关键字前10内容
cat -n ./log_all.log | grep -B 10 程序
模糊查询匹配关键字后10内容
cat -n ./log_all.log | grep -A 10 程序
模糊查询匹配关键字上下10内容
cat -n ./log_all.log | grep -C 10 程序
查询多个关键字以|分开
cat ./log_all.log | grep -E '监听器|程序1|6379'
tail基础命令
tail在日常开发中也是经常使用的一个命令、它是一个动态追加查看日志文件的一个命令。
# 查看文件指定文件、默认显示最后10行、无光标监听
tail log_all.log
# 查看文件指定文件、默认显示最后10行、有光标监听
tail -f log_all.log
# 查看文件指定文件、默认显示最后100行、有光标监听
tail -100f log_all.log #常用
# 模糊匹配文件后100行中出现的内容、有光标并只输出显示匹配内容
tail -100f log_all.log |grep 'BLOG_LIKE' #常用
# 模糊匹配文件后100行中出现的内容、有光标并输出匹配内容前2行内容
tail -100f log_all.log |grep -B 2 'BLOG_LIKE'
# 模糊匹配文件后100行中出现的内容、有光标并输出匹配内容后2行内容
tail -100f log_all.log |grep -A 2 'BLOG_LIKE'
# 模糊匹配文件后100行中出现的内容、有光标并输出匹配内容上下2行内容
tail -100f log_all.log |grep -C 2 'BLOG_LIKE'
# 模糊匹配文件后100行内容的多个关键字、有光标并只输出显示匹配内容
tail -100f log_all.log |grep --line-buffer -E '收到消息|BLOG_COMMENTS_LIKE'
tail -100f log_all.log |grep -E '收到消息|BLOG_COMMENTS_LIKE' # 和上面同样的效果
tail -100f log_all.log |egrep '收到消息|BLOG_COMMENTS_LIKE' # 和上面同样的效果
有光标是指会一直挂起并输出后续内容进来匹配的内容、如要退出使用ctrl+c
退出。
tail基础命令展示
查看文件指定文件、默认显示最后10行、无光标监听
tail log_all.log
查看文件指定文件、默认显示最后10行、有光标监听
tail -f log_all.log
模糊匹配后100行中出现的内容、有光标并只输出显示匹配内容
tail -100f log_all.log |grep 'BLOG_COMMENTS_LIKE'
模糊匹配文件后100行中出现的内容、有光标并输出匹配内容后2行内容
tail -100f log_all.log |grep -A 2 'BLOG_COMMENTS_LIKE'
小结
不用动态更新查看日志就可以使用cat
查询文件内有没有该内容这个可以、如果需要动态的看新日志进入到文件就使用tail
监听着文件的进入。