Linux 查找日志命令大全
小弟最近在帮忙排查生产环境上的问题,所以需要看生产上的日志,好久没摸过服务器了,特此记录一下使用的Linux命令。
grep命令
grep命令是在linux下看日志时经常会用到的
grep:查找文件中包含指定文本的命令
比如:grep '123456789' 20211018.log ---输出2021101801.log这个日志下包含123456789的记录
当然grep肯定不止这么简单,下面写下常用到的~
grep '123456789' * ---输出当前文件夹下所有包含123456789'的记录
比如当前目录 /home/logs/log-20211018,查找的是log-20211018文件夹下所有且包含123456789的记录
grep -r '123456789' * ---输出当前目录以及子目录下所有包含123456789'的记录,r=Recursive递归
比如当前目录 /home/logs/log-20211018,查找的是当前目录和子目录下所有且包含123456789的记录
grep -l -r ‘energywise’ * ---输出当前目录及其子目录下包含'123456789'行的记录,但是不显示匹配的行,只显示匹配的文件。
grep -i 不分区大小写
grep -v 显示除匹配以外的内容(就是不包含的意思)
grep -n 显示匹配的行并行显示当前行数是多少
grep -c 显示匹配的行数总和(注意是行数,如果一行匹配到两个也算一行)
tail命令
tail命令用在测试环境比较多,可以查看实时日志信息,便于定位错位。
tail -f 20211018.log ---实时查看20211018.log日志输出
tail -n 100 20211018.log ---输出20211018.log最新的100行
head命令
head命令用的不多,主要是看文件的头几行吧
hear -n 50 20211018.log ---输出20211018.log前50行记录
sed命令
生产环境的日志文件一般都是非常大的,要在一个很大的日志中搜索或者下载某部分内容相当不容易,此时可以用sed命令!
输出某一段时间内的日志(日志输出需要有时间的才可以)
sed -n '/2021-10-18 08:00/,/2021-10-18 10:00/p' 20211018.log
输出某一段时间包含“xiaohu”的行数
sed -n '/2021-10-18 08:00/,/2021-10-18 10:00/p' 20211018.log | grep -c "xiaohu"
将某段时间内的日志保存到一个新文件中
sed -n '/2021-10-18 08:00/,/2021-10-18 10:00/p' 20211018.log > newlog.log
awk命令
这个命令很强大,目前我也没用到过,之后会单独学习一下
你应当热爱自由!
作者:Leejk,转载请注明原文链接:https://www.cnblogs.com/leejk/p/15450104.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)