Linux 查看日志命令总结

时间:2022-12-02 21:55:13


服务器日志往往使我们排查问题很好的帮手,那么如何快速查询需要的信息,就需要我们掌握了。

这里记录一下日常使用较多的几个查看日志的命令:

1、查找文件所在位置

根据文件名搜索文件,最常用的就是根据文件名进行搜索了:

在根目录下搜索*.jar文件结尾的文件  find / -name *.jar

在当前文件夹下搜索文件名中包含log的文件: find . -name *log*

find命令用于查找文件,后面的“."代表当前目录,-name是find命令的参数,后面接要搜索的文件名,可用*代替模糊搜索。

查找文件不能用grep,grep命令用于在一个或多个文件中查找关键字(可以是字符串,也可以是正则表达式),而不是查找文件。
其次,Linux下查找文件可以用whereis、locate或者find命令。如果是快速搜索文件,最好是用whereis或者locate命令,它们的查找速度要比find命令快很多,这是因为在Linux系统中有个数据库,记录了系统内的所有文件,而whereis和locate命令就是在这个数据库中查找,并没有实际查找硬盘,而数据库查找往往是非常快的;而find命令是直接查找硬盘,如果硬盘文件比较多,就比较费时间。
注意一点:whereis和locate命令的数据库是一天更新一次,所以有时候会找到已经删除的文件,还会有找不到最新刚刚创建文件的情况,当明明记得有却找不到时,就用find命令来查找。
最后,根据你的问题,查找当前目录文件,可以在当前目录下执行find命令的-name参数。
find用法:
find 要查找的路径 参数
-name参数:指定要查找的文件名
-user参数:指定要查找的文件所属用户
-type参数指定查找文件的类型,分别有d目录、l连接文件、s socket文件等

2、查看文件中特定内容和所在行号

这里使用​​log.log​​文件作为查看目标。

实时显示日志内容: tail -f log.log
显示最后10行的内容: tail -n 10 log.log

搜索日志中​​计修杰​​​所在行号:​​cat -n log.log | grep '计修杰'​

Linux 查看日志命令总结

3、查看特定行周围的日志

sed命令:​sed -n '10,20p' filename​​​ 这样就可以查看第10到20行的内容了。
地址是逗号分隔的,那么需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数字、正则表达式、或二者的组合表示。
​​cat命令:​cat filename | head -n 10 | tail -n +10​