Linux查看日志

1,439 阅读4分钟

一、基础操作

1、查看日志 前 n行: cat 文件名 | head -n 数量 demo: cat test.log | head -n 200  # 查看test.log前200行

2、查看日志 尾 n行: cat 文件名 | tail -n 数量 demo: cat test.log | tail -n 200  # 查看test.log倒数200行

3、根据 关键词 查看日志 并返回关键词所在行: 方法一:cat 路径/文件名 | grep 关键词 demo:   cat test.log | grep "http"  # 返回test.log中包含http的所有行 方法二:grep -i 关键词 路径/文件名 (与方法一效果相同,不同写法而已) demo:   grep -i "http" ./test.log  # 返回test.log中包含http的所有行(-i忽略大小写)

=============================

1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。 在查看模式下: 符号/后面跟关键字向下查找, 符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。

2.多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。

3.还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。

====================================

常用到的命令在这里记录一下:

1.VI:单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找, 按n查找下一个,按N查找上一个。

2.grep命令:cat 1.log | grep key 可以写为: grep key 1.log

根据字符串查询日志中关键词出现的位置:cat -n 日志文件| grep 'keyword'

例:cat -n 1.log | grep 'keyword'

检索日志,并显示该条日志的前后N(10)行记录:cat 日志文件 | grep -n -B10 -A10 "关键字"

3.查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,

查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’

例:sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’

tail -n 10 日志文件 查询日志尾部最后10行的日志;

tail -n +10 日志文件 查询10行之后的所有日志;

head -n 10 日志文件 查询日志文件中的头10行日志;

head -n -10 日志文件 查询日志文件除了最后10行的其他所有日志;

tail -200f info.log 动态的打印末尾的行数日志

如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:

(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:

cat -n test.log |grep "地形" >xxx.txt

======================================= 1、动态的打印末尾的行数日志 (10行日志) tail -n 10 info.log

2、cat打印 末尾的日志

3、根据关键字打印,并展示日志所在的行数 grep -n "方法" info.log

上下面 4、grep -C 10 'Exception' xxx.log xxx为日志文件名称

上面 5、grep -B 10 'Exception' xxx.log

下面 6、grep -A 10 'Exception' xxx.log

7、cat test.log | head -n 200  # 查看test.log前200行

8、cat test.log | tail -n 200  # 查看test.log倒数200行

linux 如何显示一个文件的某几行(中间几行)

【一】 从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000

最后五百行日志文件 cat filename | tail -500

【二】显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序

分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

========================================== gunzip info-2022-07-26.0.gz

服务器查看压缩日志 zcat info-2022-07-26.0.gz | less

服务器归档日志-根据关键字查看 zcat info-2022-08-02.1.gz | grep "20766"

========================================== linux服务器访问

curl 'url地址'

curl -X POST -F "file=@enter.xlsx" "url地址" --cookie "_tk=wG5qYmBMsgWU74TD3ZDa7l7yO7AeuvszQTcSH3%2F6D52fCDRE7UX%2F0Fhc8mtTV1Lw865XzeeXpz1iyCa14NKuhyFq9Z3yzs5gyV0DFJEbHtM%3D"

curl -X GET -s 文件路径 >test2.png

======================

ping ip 查看指定的ip是否是相通的 telnet ip/域名 port 查看指定的域名是否是相通的 wget ip:端口 查看地址是否可以链接 curl ip/域名 port 获取请求数据 curl -ivv 域名 80 详细看网络信息

http协议默认端口号80
https默认端口号443