tail查看⽇志(匹配时间段、关键字)
对于IT⼈员来说查⽇志是算是⽇常⼯作了,不管是开发还是测试都会涉及到查看⽇志,定位问题缺陷的所在。所以这⾥作者收集了⼀部分查看⽇志的命令以及解释:
常⽤命令:
tail -f xxx.log            ----实时刷新最新⽇志
tail -100f xxx.log      --------实时刷新最新的100⾏⽇志
tail -100f xxx.log |grep[关键字]    -------查最新的⼀百⾏中与关键字匹配的⾏
tail -100f xxx.log |grep'2019-10-29 16:4[0-9]'    ------查最新的100⾏中时间范围在2019-10-29 16:40-2019-10-29 16:49范围中的⾏
tail -1000f xxx.log |grep -A 5 [关键字] ----------查看最新的1000⾏中与关键字匹配的⾏加上匹配⾏后的5⾏
以上是⽇常查看⽇志中最常⽤的⼀些参数与命令。涉及到的linux命令⽆⾮就是tail和grep这两个,注意以上所有的命令都是从左往右读。命令会先打开⽂件才会去进⾏grep匹配关键字。所以有时候不是匹配条
件写错了,⽽是因为你展⽰的⾏数太少了。grep命令没有在你展⽰的内容中匹配到。这也是有些⼈经常会疑惑的地⽅。
tail:⽤于查看⽂件的内容
-f 循环读取
-q 不显⽰处理信息
-v 显⽰详细的处理信息
-c<;数⽬>显⽰的字节数
-n<⾏数>显⽰⽂件的尾部 n ⾏内容
--pid=PID 与-f合⽤,表⽰在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出⽂件名的⾸部
-s, --sleep-interval=S 与-f合⽤,表⽰在每次反复的间隔休眠S秒
grep:⽤于查⽂件⾥符合条件的字符串。
-a 或 --text :不要忽略⼆进制的数据。
-A<;显⽰⾏数>或 --after-context=<;显⽰⾏数>:除了显⽰符合范本样式的那⼀列之外,并显⽰该⾏之后的内容。
-b 或 --byte-offset :在显⽰符合样式的那⼀⾏之前,标⽰出该⾏第⼀个字符的编号。
-B<;显⽰⾏数>或 --before-context=<;显⽰⾏数>:除了显⽰符合样式的那⼀⾏之外,并显⽰该⾏之前的内容。
-c 或 --count :计算符合样式的列数。
-C<;显⽰⾏数>或 --context=<;显⽰⾏数>或-<;显⽰⾏数>:除了显⽰符合样式的那⼀⾏之外,并显⽰该⾏之前后的内容。
-d <;动作>或 --directories=<;动作>:当指定要查的是⽬录⽽⾮⽂件时,必须使⽤这项参数,否则grep指令将回报信息并停⽌动作。
-e<;范本样式>或 --regexp=<;范本样式>:指定字符串做为查⽂件内容的样式。
-E 或 --extended-regexp :将样式为延伸的正则表达式来使⽤。
-f<;规则⽂件>或 --file=<;规则⽂件>:指定规则⽂件,其内容含有⼀个或多个规则样式,让grep查符合规则条件的⽂件内容,格式为每⾏⼀个规则样式。
-F 或 --fixed-regexp :将样式视为固定字符串的列表。
-G 或 --basic-regexp :将样式视为普通的表⽰法来使⽤。
-h 或 --no-filename :在显⽰符合样式的那⼀⾏之前,不标⽰该⾏所属的⽂件名称。
-H 或 --with-filename :在显⽰符合样式的那⼀⾏之前,表⽰该⾏所属的⽂件名称。
-i 或 --ignore-case :忽略字符⼤⼩写的差别。
-l 或 --file-with-matches :列出⽂件内容符合指定的样式的⽂件名称。
-L 或 --files-without-match :列出⽂件内容不符合指定的样式的⽂件名称。
grep命令查看进程-n 或 --line-number :在显⽰符合样式的那⼀⾏之前,标⽰出该⾏的列数编号。
-o 或 --only-matching :只显⽰匹配PATTERN 部分。
-q 或 --quiet或--silent :不显⽰任何信息。
-r 或 --recursive :此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages :不显⽰错误信息。
-v 或 --revert-match :显⽰不包含匹配⽂本的所有⾏。
-V 或 --version :显⽰版本信息。
-w 或 --word-regexp :只显⽰全字符合的列。
-x --line-regexp :只显⽰全列符合的列。
-y :此参数的效果和指定"-i"参数相同。
当然这⾥说的也不是说查看⽇志只能使⽤tail或grep。其实说⽩了tail命令也只是查看⽂件的⼀个命令⽽已,所以读者不要误以为查看⽇志只有tail这⼀个命令哦。只是说⼤部分时候我们都是使⽤tail命令查看⽇志的。不乏有时候也会使⽤cat、more、vi、vim、sed等命令。只能说我们那个⽤的⽅便就⽤那个。对吧。条条⼤路通罗马,作为⼀个程序员永远不要限制⾃⼰的思想,哪怕是天马⾏空。当你的思想都已经被限制了那么你前进之路就已经被堵死了。你要想想,当初的更具⼿机壁纸改变⼿机壳颜⾊其实不是做不到⽽是没⼈尝试,事后也有很多⼈给出解决⽅案的。
最后赠⼤家⼀句俗语:“只要思想不滑坡,办法总⽐困难多!”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。