Linux上查询日志内容

您所在的位置:网站首页 linux查找包含指定内容的行 Linux上查询日志内容

Linux上查询日志内容

2024-06-09 00:36| 来源: 网络整理| 查看: 265

前言

当我们的java项目上线后,一般的java项目都是部署到linux环境的,如果生产出现问题,就需要我们有能力在linux系统上查找问题所在,而常见的查找问题的方式就是看log日志,看看哪个地方出现异常,再根据异常情况进行代码修改;以下命令都是查询日志文件内容可以用到的命令,使用这些工具可以更快地帮我们找到问题所在;

find 查找某个文件

命令为: find / -name fileName

find:查找文件的命令/ : 从根目录开始查找,会一往所有的子目录一直查询,如果要从当前目录开始查找,这样写find ./ -name fileName-name :根据名称模糊查询fileName 需要查询的文件名称 模糊匹配文件 find / -name fileName* grep命令—查找文件内容

linux系统中,利用grep打印匹配的上下几行

grep -5 'parttern' inputfile//打印匹配行的前后5行

grep -C 5 'parttern' inputfile //打印匹配行的前后5行

grep -A 5 'parttern' inputfile //打印匹配行的后5行

grep -B 5 'parttern' inputfile //打印匹配行的前5行

另外,grep命令还可以和其他命令组合 一起使用,就像这样

tail -10f xxx.log |grep -5 '%s*' // 查看xxx日志中匹配某字符串的后面5行ps -ef | grep java // 查询所有带java字符的进程 head命令 查看文件内容头几行 head fileName :打印文件内容头10行内容,等同于命令:head -n 10 fileName;head -n 50 fileName :打印文件内容前50行;head -n 50 fileName >> head.txt :将文件前50行的内容保存到head.txt里面 tail命令 查看文件内容末尾几行 tail fileName //打印文件末尾10行内容,等同于命令:tail -n 10 fileNametail -n 50 fileName,打印文件末尾50行内容tail -n +50 fileName,打印文件从第50行开始一直到末尾的内容tail -f fileName ,持续跟踪文件的增长情况,实时输出文件的更新内容;当文件改名或被删除,则跟踪停止;常用于查看实时日志情况;可以简写为tailf fileNametail -F fileName : 注意这里是大写的F, ,持续跟踪文件的增长情况,实时输出文件的更新内容;并保持重试,当文件改名或被删除后,后面又创建了相同的文件,则会继续跟踪;tail -f -s 10 fileName:每次间隔10秒打印一次文件的最新内容tail -n 50 fileName >> tail.txt :将文件末尾50行的内容保存到tail.txt文件中tail -c 50 fileName :打印文件末尾50个字节的字符 cat命令 升序查看文件所有内容

如果文件太大,慎用cat命令,因为会将文件内的所有内容都打印出来;

cat -n fileName:从1开始对文件内容的每一行输出行号cat -b fileName:从1开始对文件内容的每一行输出行号,和-n相似,不过会对空行不编号cat -s fileName:当遇到有连续两行以上的空白行,就代换为一行的空白行。cat -E fileName:在每行结束处显示 $。cat -n textfile1 > textfile2 :把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里cat fileName | grep VM :查找文件内所有带有VM字符的行cat fileName | grep -2 VM:查找文件内所有带有VM字符的行和前后2行; tac命令 倒序查看文件所有内容

tac和cat使用方法相同,区别是cat升序展示,tac倒叙展示,其实cat字母反过来就是tac,cat和tac命令执行对比图 在这里插入图片描述

more命令 翻页展示

more命令可以将文件内容分页展示,空格键:space查看下一页,B键查看上一页;需要注意的是more命令不能直接定位到末尾开始翻页。

more fileName:默认根据窗口大小,一页一页地显示文件内容;more -10 fileName : 翻页时每页显示10行more +10 fileName:从第10行开始分页more -d fileName :提示,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果你按错键了会提示: [Press ‘h’ for instructions.] ,按下H键会展示帮助信息,告诉你有哪些可以使用的命令;more -l fileName :取消遇见特殊字元 ^L(送纸字元)时会暂停的功能more -f fileName:计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)more -p fileName :不以卷动的方式显示每一页,而是先清除萤幕后再显示内容(不加-p时下一页上一页都是追加在后面展示的)more -c fileNme :不以卷动的方式显示每一页,而是先显示内容后在清除萤幕(-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料,肉眼看不出区别)more -s fileName : 当遇到有连续两行以上的空白行,就合并为一行的空白行more +/exception fileName:在每个文档显示前搜寻该字串(exception),然后从该字串之后开始显示more fileName1 fileName2 : 展示多个文件内容,到达第一个文件末尾时,按下空格键将自动翻页到下一个文件的展示more -u fileName :不显示下引号输出,百度了下回车旁边的就是下引号,其实就是单引号;在这里插入图片描述 less 命令

less命令和more命令类似,但使用 less 可以随意浏览文件,但若使用了 less 时,就可以使用[pageup]和[pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 在这里插入图片描述

less -b 1024 fileName :设置缓冲区大小less -e fileName :当文件显示结束后,再往后翻页将会自动离开less -f fileName : 强迫打开特殊文件,例如外围设备代号、目录和二进制文件less -i fileName :搜索时忽略大小写,搜索命令在下面会提到less -N fileName :展示每行的行号less -s fileName : 当遇到有连续两行以上的空白行,就合并为一行的空白行less -m fileName :查看进度,以百分比的方式展示,和more命令最下面的百分比类似。在这里插入图片描述 less 命令内常用操作 符号描述/字符串向下搜索“字符串”的功能?字符串向上搜索“字符串”的功能n重复前一个搜索(与 / 或 ? 有关)N反向重复前一个搜索(与 / 或 ? 有关)b向前翻一页d向后翻半页q退出 less 命令空格键向后翻一页向上键向上翻动一行向下键向下翻动一行 使用less命令从末尾开始往前翻页

先用less命令打开文件

less project.log

按下快捷键 shift + G 跳转到日志末尾处最后一行

使用命令ctrl+b往前一页一页翻页查看

less的其他命令参考: 全屏导航 ctrl + F: 向前移动一屏ctrl + B : 向后移动一屏ctrl + D : 向前移动半屏ctrl + U : 向后移动半屏 单行导航 j: 向前移动一行k:向后移动一行 其它导航 G:移动到最后一行g :移动到第一行q / ZZ : 退出 less 命令 nl命令 展示行号 nl -b a fileName: 无论是否空行,都展示出行号,和cat -n fileName命令一样nl -b t fileName: 如果有空行,空的那一行不显示行号(默认值)nl -n ln fileName:行号在命令行的最左边展示nl -n rn fileName :行号在最右边展示,且不加0nl -w 2 fileName :行号占用的位数;nl -n rz fileName :行号在最左边展示,加0 。如下图

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3