Linux查看日志的几种命令(tail、cat、grep、head、sed…)

  • Post author:
  • Post category:linux




第一种: tail命令

tail 查看实时变化的日志(

比较吃内存

)

退出tail命令:Ctrl+c

用法:

tail –参数 – 文件名

参数列表

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n<行数> 显示行数 (相当于nl命令)
–pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, –quiet, –silent 从不输出给出文件名的首部
-s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

常用用法示例:

用法 作用
1. tail -f filename 默认最后10行,相当于增加参数 -n 10
2. tail -n 20 filename 显示filename最后20行
3. tail -n +5 filename 从第5行开始显示文件



第二种: cat命令

cat命令搜索关键字附近的日志

常用用法:

查看log.log前200行

cat log.log | head -n 200

查看test.log倒数200行

cat  test.log | tail -n 200

查看test.log中包含http的所有行

cat  test.log | grep "http"

查看test.log中包含http的所有行,并显示前后行

cat -n test.log | grep -C 5 “http” 		(匹配字串那行以及前后5行)

cat -n test.log | grep -B 5 “http” 		(匹配字串那行以及前5行)

cat -n test.log | grep -A 5 “http” 		(匹配字串那行以及后5行)



第三种 grep

grep命令,文本搜索命令,可以使用正则表达式搜索文本

用法示例:

查看test.log中包含http的所有行(-i忽略大小写)

grep -i "http" ./test.log



第四种 sed

SED 查看某时间段日志

sed -n '/2022-06-02 13:10:30/,/2022-06-02 13:10:40/p' test.log

某时间端日志输出到指定文件中

sed -n '/2022-06-02 13:10:30/,/2022-06-02 13:10:40/p' test.log > test20220602.log

当然还可以使用vi文本编辑命令,less或者more命令进行查看

还可以

正向查找:

/关键字 按n键把光标移动到下一个符合条件的地方

反向查找:

?关键字  按shift+n 键,把光标移动到下一个符合条件的

日志文件本身还是一个文件,检索命令,编辑命令,查找命令都是可以进行操作的。



版权声明:本文为weixin_42648692原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。