使用场景
你想查看部署在一台服务器上的后台日志,日志文件名称为:application.log
tail -f application.log
想查看文件后100行或者两百行?
tail -100f application.log
突然后台开始跑大量的定时任务,各种日志疯狂刷屏,你根本找不到了你要的,于是你慌了,后来你一番百度:小样,还治不了你了
tail -f application.log |grep --color -10 order
tail -f a.log |grep -E --color ‘order|product’
(和上面差不多,但是这个有两个关键字order和product)
动态展示文件中出现的 order或者product字符 不区分大小写,并且高亮显示
tail
基本语法:tail [-f] [-其他可选项] [文件名]
-f:也是可选项,用于监视追加动态的文件,经常用于操作日志文件
tail -f a.log(默认值,动态读取最后10行);tail -500f a.log(动态读取最后500行数据)
其他可选项:
-c 20 : 从文件的20个字节开始读取文件;如:tail -c 20 a.log
-m 20: 从文件的第20个字节开始读取文件,只是与 -c 不同的是不会截取字符串,更实用
-n 20:从文件的第20行开始读取,-20表示最后20行。 如:tail -n -20 a.log
-b 20:从文件的第20个 512字节块儿开始读取文件,如(读取最后20*512字节):tail -b -20 a.log
-k 20:从文件的第20个 1kb字节块儿开始读取文件,如(读取最后20kb):tail -k -20 a.log
–help:更多命令; tail --help
grep
根据规则或者正则表达式 每行进行过滤制定文件,经常与其他命令一起配合使用,ps命令、tail命令等
基本语法:grep [可选项] [-e] 规则 [file…]
-e: 也是可选项,使用正则表达式进行过滤;如:tail -f a.log | grep ‘kevin’
-i:查找不区分大小写;
-v:查找不包含指定内容的行;
-w:按照单词搜索;
-c:统计匹配到的次数;
-n:显示行号;
-r:逐层遍历查询;如:grep ‘error’ /home/log -r -n --include *.{log}
-A5:显示查询到的字符的前5行一起显示,这个在日志中也比较实用,在上下文中才更有意义, 如:tail -n 200 a.log | grep -A5 ‘error’
-B5: 显示查询到的字符的后5行一起显示;
-C3:显示查询到的字符以及前后3行;
–color:查询到的内容高亮显示;
–include:指定匹配的文件类型;
–exclude:排查指定的文件类型;
–help:更多命令语法
|