Linux查日志常用命令

最近需要经常上服务器查日志,因为上份工作日志都接了ELK,不用登服务器去看,太久没用发现有些命令已经生疏了,正好趁此机会温习并整理了一些常见的命令和使用场景,记录下来。

:下面的每条命令结尾基本都接了 | less,这是博主个人习惯以浏览文件方式打开查找到的日志,避免在控制台打印出大量的日志,不是必须的命令。

常见场景

场景一:查找关键字所在行

1. cat -n x.log | grep "keyword"
2. grep "keyword" x.log | less 
3. 或者直接less x.log,然后在里面通过/或?向上或向下筛选关键字

场景二:查找关键字及前后几行日志

1. grep -B 5 -A 10 "keyword" x.log | less   -显示关键字及前5行,后10行
2. grep -C 10 "keyword" x.log | less   -显示关键字及前后10行

场景三:实时监控新日志

1、tail -100f x.log    -实时监控最后100行日志

场景四:head查看头部日志

1. head x.log    -默认查看头10行日志
2. head -n 100 x.log | less    -查看头100行日志
3. head -100 x.log | less    -查看头100行日志

场景五:tail查看尾部日志

1. tail x.log | less    -默认查看最后10行日志
2. tail -n 5 x.log    -查看尾部最后5行日志
3. tail -n +10 x.log    -查看10行之后的所有日志

场景六:按行截取

1. tail -n +1000 x.log | head -n 10 | less    -从第1000行开始,显示10行
2. head -n 1000 x.log | tail -n + 900 | less    -显示900-1000行
    head -n 1000 x.log | tail -n 100 | less    -显示900-1000行
3. sed -n '900,1000p' x.log | less    -显示900-1000行

场景七:按日期时间截取

1. sed -n '/2021-06-28 16:17:18/,/2021-06-28 16:20:18/p' x.log | less    -两个日期值必须是日志文件中包含的值,可以先grep一下确定是否存在
2. sed -n '/2021-06-28 16:17:18.569/,/2021-06-28 16:20:18.673/p' x.log | less    -具体到毫秒数查找
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容