Linux日志文件查看和搜查命令(错误日志排查定位)
一、cat命令
cat 命令用于连接文件并打印到标准输出设备上,主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。
语法格式 cat [-AbeEnstTuv] fileName 参数说明: -n 或 --number:由 1 开始对所有输出的行数编号。 -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。 -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。 -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 -E 或 --show-ends : 在每行结束处显示 $。 -T 或 --show-tabs: 将 TAB 字符显示为 ^I。 -A, --show-all:等价于 -vET。 -e:等价于"-vE"选项; -t:等价于"-vT"选项;
示例:
1、cat -n f1.txt>f2.txt,对f1.txt文件中每一行加上行号后然后写入到f2.txt中,会覆盖原来的内容,文件不存在则创建它。
2、cat -n f1.txt>>f2.txt,对f1.txt文件中每一行加上行号后然后追加到f2.txt中去,不会覆盖原来的内容,文件不存在则创建它
二、tail命令
tail 命令用于按照要求将指定的文件的最后部分输出到标准设备,通俗来讲就是把某个文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容。
语法格式: tail [参数] [文件] 参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 例:tail -c 10 notes.log(显示文件 notes.log 的最后 10 个字符) -n<行数> 显示文件的尾部 n 行内容 --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束 -q, --quiet, --silent 从不输出给出文件名的首部 -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
定位日志文件错误信息
示例:
cat all_info.log | grep "错误的关键信息提示" -C 10
查看日志中出现关键字 "错误的关键信息提示" 的前后10行内容
从第10行开始显示,显示10行到30行:cat filename | tail -n +10 | head -n 30
tail -n 10:显示最后10行
tail -n +10:从10行开始显示,显示10行以后的内容
head -n 10:显示前面10行
搜索文件夹下所有文件或者某个文件匹配的字符串
搜索某个文件夹下所有文件:grep -rn '查找的字符串' *
搜索某个文件:grep -rn '查找的字符串' xxxxx.txt
搜索某个文件并输出到自定目录:grep -rn '查找的字符串' xxxxx.txt >/data/tmp/tmp.txt