linux日志查看及定位

linux日志查看及定位_第1张图片
locate problem.png

因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。

  • tail
顾名思义,tail就是尾部的意思,默认会显示日志的最后10行记录

tail -n 100 filename   
-n 可以用来指定行数  n也就是number的意思

tail -f filename 
-f  会把实时产生的日志追加到标准输出中来,也就是我们的终端 
f 我认为是flush的缩写  也就是刷新的意思 
  • less
less 可以对文件进行分页,
less filename
可以用/ 去匹配过滤信息
然后n是匹配下一个 
N匹配上一个 
b 是上一页 
d是下一页
  • vim
最开始我就是用vim去查看日志的
慢慢觉得vim有点笨重
vim 也是用 / 去过滤
n 匹配next
N 匹配上一个
  • grep
    global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
echo "heiqie1" >> 1.txt
echo "heiqie2" >> 2.txt
echo "heiqie3" >> 3.txt
echo "test" >> 4.txt

#执行结果
cat 1.txt 2.txt 3.txt  4.txt | grep 'heiqie'
heiqie1
heiqie2
heiqie3


#加上-v参数是反向匹配
$ cat 1.txt 2.txt 3.txt  4.txt | grep -v  'heiqie'
test

#加上-n参数是显示该条记录所在的行数
$ cat 1.txt 2.txt 3.txt  4.txt | grep -vn  'heiqie'
4:test

# -c参数是统计符合匹配的一共有多少行
$ cat 1.txt 2.txt 3.txt  4.txt | grep -c  'heiqie'
3

# -E参数是使用正则表达式匹配 
# ^h表示以h开头 
# \w 表示匹配包括下划线的任何单词字符 
# + 表示匹配\w一次或者多次 
$ cat 1.txt 2.txt 3.txt  4.txt | grep -E  '^h\w+'
heiqie1
heiqie2
heiqie3

# 1$表示以1结尾的
$ cat 1.txt 2.txt 3.txt  4.txt | grep -E  '^h\w+1$'
heiqie1

你可能感兴趣的:(linux日志查看及定位)