查看log日志的常用方法总结

linux查看日志的常用命令包括

	tail/head、cat/tac、less/more、grep/sed、wc

1、tail/head命令 监控日志

  • tail -f filename --> 实时监控日志
  • tail -10f filename --> 实时监控10行日志信息
  • tail -n 100 filename —> 查看尾部最后100行日志信息
  • tail -n +100 filename — >查看日志100行之后的日志信息
  • head -n 100 filename —> 查看文本开始的头100行信息
  • head -n -100 filename —> 查看文本最后100行信息以上的内容

2、cat/tac命令 查看文本信息

  • cat filename --> 查看全部文本信息
  • cat -n filename |tail -n +100|head -n 20 —> 查看100-120行之间的内容
  • tac – 从文本的尾部往头部展示日志内容

3、less/more命令 翻页查看

more仅能向前移动,less可以随意浏览文件,less 在查看之前不会加载整个文件
less logfile.log

  • /keyword -->搜索
  • n/shift+n键–>向下查找
  • 快捷键:ctrl+F/ctrl+B–>向前/后翻页
  • less +/keyword logfile.log–>搜索关键字

    直接定位:

    • less +100g xx.log --> 直接定位到第100行
    • less +GG xx.log --> 定位到最后一行
    • less +100P xx.log --> 定位到第100个字节的位置
    • less +100p xx.log --> 直接定位到50%的位置
    • more -10 filename 设定每页展示10条数据信息。

4、grep/sed命令 搜索文本内容

grep是一种强大的文本搜索工具,使用正则表达式搜索文本且把匹配的行打印出来。

  • grep “match_pattern” file1,file2,file3 —>多个文本中查找
  • grep “match_pattern” filename --color=auto -->标记匹配颜色(always never auto三种)
  • grep -v “match _pattern”filename -->输出除之外的所有行
  • grep -E “[1-9]+” --> 使用正则表达式
  • grep -o -E “[a-z]+.” line --> 只输出匹配到的内容
  • grep -c “text” filename --> 统计文件或者文本中包含匹配字符串的行数
  • grep “text” -n filename --> 输出包含匹配字符串的行数

sed是一种非交互式的编辑器,sed会逐行处理文件并将结果发送到屏幕。

  • sed -n ‘1p’ filename --> 只打印文件第一行
  • sed -n ‘1,10p’ filname --> 查看文件1-10行内容
  • sed ‘1d’ filename --> 删除文本第一行内容
  • sed ‘s/希望替换的内容/被替换的内容/g’ --> 替换字符串
  • sed ‘s/1/one /g’ filename 将1替换为one
  • sed -n ‘/2019-08-06 22:43/,/2019-08-06 22:44/p’ filename --> 查看时间区间内的日志记录;
  • n1 log.file| sed -n ‘1,10p’ --> 查看日志的1-20行内容。

常用使用场景

1、匹配关键字,排查错误

grep

# grep -w “keyword" filelog.log -2 --color -n > /tmp/tmp.log
# grep -w   "keyword" filelog.log -2 --color  -n  | less

-w 全匹配;-2 关键字上下2行;–color 关键字着色;-n 输出行号

2、查看某个时间段的日志信息:
# grep '2019-08-06 22' filename

cat结合grep

# cat log.file |grep -n '2019-08-06 22:43'

sed结合grep

sed -n '2013:15:00:01/,/2013:16:59:58/p' xxxx.log | grep "Exception" -n -5 --color
3、查看日志最后一次出现关键字’test’的日志记录
grep 'test' -A 10  log.file | tail -n 11

这里需要了解到grep命令的几个参数含义:

  • grep ‘name’ -A 10 显示匹配内容和后面的10行
  • grep ‘name’ -B 10 显示匹配内容和前面的10行
  • grep ‘name’ -C 10 显示匹配内容和前后面的10行
  • tail -n 11命令则是将当前显示的10行内容以及匹配的那一行内容展示出现
4、统计一份日志里面出现‘keyword’关键字的行数
# grep 'keyword' ./log.file |wc -l

wc命令常用的几个参数

  • -l 匹配的行数
  • -w 匹配的字数
  • -m 匹配的字符数目

猜你喜欢

转载自blog.csdn.net/ccccsy99/article/details/105968876