实时查询日志

  • 1、引言
  • 2、less
  • 3、tail
    • 3.1 单文件实时查询
    • 3.2 多文件实时查询
    • 3.3 目标名称查询
    • 3.4 跟踪日志
  • 4、multitail
    • 4.1 安装
    • 4.2 用法
  • 5、总结

1、引言

由于最近从某些企业毕业的同学很多,导致很多同学不得不投简历,找工作。
作为面试官的我,在最近也是没少忙活。
小屌丝:鱼哥,最近听说你最近睡得挺晚的。
小鱼:你咋知道, 你是不是在我的电脑安装了什么…
小屌丝:鱼哥,我这么正经, 怎么能干那么流氓的事情…
小鱼:那你咋知道我睡得晚。
小屌丝:用脚指头就能想到, 最近上海有很多企业的同学毕业了,所以…会有一些毕业的同学约你帮忙看简历,聊聊面试技能之类的吧。
小鱼:嗯,最近在公司也面试了不少的同学,但是,这些同学的共性之一都是,对linux的命令不太熟,
小屌丝:比方说呢?
小鱼:如何实时查询日志文件,如何同时实时查询两个日志文件呢?
小屌丝:这个我能想到, cat,tail
小鱼:然后呢,
小屌丝:没有然后了.
小鱼:…

其实关于Linux的命令,我专门写过一篇《吊打面试官系列之:掌握了这166个Linux常用命令,面试官果然被我征服了。。
有的同学私下反馈, 鱼哥,这么多命令,我好难背的哦。
唉~~~
为了照顾某些同学,我今天就对如何实时查询日志的方法,进行总结。

2、less

说道less, 我想,应该没人不知道吧

  • 分页显示文件内容,more命令的相反用法;
  • 多用于读取文本文件,
  • 用于读取实时被更改的文件

用法

less +F err.log  #+F 实时追踪更改的文件

说的没错,我们来演示一下,

处于职业素养, 我把服务器重要信息 隐藏了。


我们可以看到,日志很清晰的展示出来。
当然,如果退出视图的话, 按 q 就可以。

3、tail

3.1 单文件实时查询

接着,我们就来说说tail呢。
关于tail,我们在平时也会经常的用到,也是很高频的一个linux命令。
我们想想一下,关于Linux常用的命令:
用法

tail -f err.log

3.2 多文件实时查询

关于tail的用法,还有更厉害的。
如果我们既想看 error.log 文件,又想看info.log文件信息,
如何使用一行命令查看呢?
这里,tail就会解决你的困扰。

用法

tail -f err.log  -f  info.log

展示

3.3 目标名称查询

如果你要查看的日志内容更新很快, 例如,info.log文件的内容肯定是刷刷的不停的更新,这个时候,就非常的不方便,
小屌丝:这种情况,有没有解决办法呢?
小鱼:这还用说,必须的。
tail + grep 可以帮你解决这个问题
用法

tail -f log_file | grep search_term

展示

如果出现的内容较多, 看着不方便,也可以解决的。
利用 grep -C 来显示查询结果的前后几行:
用法

tail -f log_file | grep -C 3 search_term

当然, 我们也可以查询多个名称

用法

tail -f log_file | grep -C 3 -i - E 'search_term_one | search_term_two'

3.4 跟踪日志

日志轮转(rotation)后的跟踪,这在大厂中很常见,尤其像这种 双十一大型活动,
日志的输出量是很多的。
如果实时跟踪日志文件, 就会占用资源,也可能会出现问题。
这个时候, tail的功能就体现出来了。

默认情况下,tail 命令用于文件描述符。如果当前日志文件被旋转,tail 命令现在将指向一个存档日志文件,该文件现在不会记录任何更改。

解决方案是按照日志文件的名称跟踪日志文件。这样,即使发生日志旋转,尾部也将指向当前日志文件(因为其名称从未更改)。

用法:

tail --follow=name  error.log | grep -C 3 -i - E 'search_term_one search_term_two'

4、multitail

以上两个都是linux自带的,接下来介绍的,是需要安装的,即:multitail
小屌丝:鱼哥,multitail是不是有什么特别的技能,
小鱼:何出此言?
小屌丝:否则,前两个介绍的都是Linux自带的,而multitail是需要安装的, 所以,一点有哪一点,打动了你,
小鱼:奈斯。multitail确实有打动我的点。

multitail的优点在于:可以拆分视图显示文件。
顾名思义,可以同时显示多个文件, 也可以把每个文件拆分视图显示。

4.1 安装

关于安装, 这里就简单提一下, 毕竟, 安装方式很简单。

安装依赖

[root@node1 tmp]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
[root@node1 tmp]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm  --nodeps

安装multitail

wget https://www.vanheusden.com/multitail/multitail-6.5.0.tgz
tar xf multitail-6.5.0.tgz
cd multitail-6.5.0
make
echo $?
make install
echo $?

4.2 用法

multitail 的用法, 跟tail -f 一样,
所以没有太多的复杂度,

用法

multitail file_1 file_2

默认显示最后100行。

不同之处在于:
使用 -s 选项拆分视图,后面跟一个数字,即视图的数量:

用法

multitail -s 2  file_1 file_2

如果想学习更多multitail 的命令,可以使用 -h 来进行查看

multitail -h

5、总结

看到这里, 今天的分享差不多就结束了。
关于实时查看日志的方式,还可以通过journal 命令。
如果感兴趣的你, 可以在深入研究journal 。
据说也是一个很不错的命令。

最后,再唠叨一句,我是小鱼

  • CSDN博客专家
  • 金牌面试官
  • 商务合作|面试培训|职场规划,可以扫码咨询

同时,我也做面试培训与职场规划:

  • 如果你处于职场迷茫期,欢迎来咨询;
  • 如果你处于技术瓶颈期,也欢迎咨询;

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。相关推荐

  1. Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...

  2. Linux实时查看日志,访问前10IP 和相关命令

    Nginx日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += 1 ...

  3. linux系列之-—04 自动删除n天前日志【转】

    让Linux系统定时清理一些不需要的文件,日志很有必要 1. 删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; ...

  4. linux cat 查看文件内容 不带#号的,Linux下如何不用cat命令读取文件内容

    本文最后更新于2018年1月28日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢! =Start= 缘由: 在微信群里看到的一个讨论,觉得挺有启发意义的,所以在此整理一下,方便以后学习 ...

  5. Docker系列 八.Docker下 Mysql 启动慢查询日志

    先进入mysql容器: docker exec -it 480c8f2a1f21 /bin/bash 进入mysql,然后输入密码即可 mysql -u root -p 查看mysql系统参数 mys ...

  6. mysql 性能日志_Mysql系列(十一)—— 性能分析慢查询日志

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  7. 【超简单,保姆级】❤️Linux 安装 Windows 软件,微信、QQ、TIM等,再也不用来回切换了!❤️【建议收藏】

  8. Linux系列---Jexus安装(内附超链接,其他linux环境搭建)

    简述:标题Jexus 即 Jexus Web Server,简称JWS,是Linux平台上 的一款ASP.NET WEB服务器.它是 Linux.Unix.FreeBSD 等非Windows系统架设 ...

  9. linux下各种格式的压缩包的压缩、解压方法

    用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩.下面介绍一下备份与压缩的命令,大致总结了linux下各种格式的压缩包的压缩.解压方法.但是部分方法我没有用到,也就不全,希 ...

最新文章

  1. 复杂系统如何在不停机升级同时保持稳定?你必须考虑以下几个点...
  2. python线性表和队列_[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列...
  3. ALV标准的分类小计功能
  4. 四年级计算机期末质量分析,信息技术四年级(下)质量分析——刘千慧
  5. 第4章 Python 数字图像处理(DIP) - 频率域滤波10 - 使用低通频率域滤波器平滑图像 - 理想、高斯、巴特沃斯低通滤波器
  6. 二叉树的前序、中序、后序遍历与创建
  7. 虚拟服务器的密码忘记了,忘记虚拟密码
  8. 合并的数组会有顺序么_咱就别按顺序刷题了,看看大佬怎么刷
  9. 系统登录界面(收集)
  10. Azure Services Bus(服务总线)中的工作流(workflow)
  11. WAP中推送技术的分析与设计
  12. 关于 Access 数据库数据类型
  13. mysql如何备份数据库_MySQL如何备份数据库
  14. msf(美少妇)练习
  15. 计算机辅助翻译技术的好处,计算机辅助翻译原理与实践
  16. 木板切割最优matlab,矩形木板最优切割方案的设计与实现
  17. CTF_Web:从0学习Flask模板注入(SSTI)
  18. 广义估计方程估计方法_广义估计方程简介
  19. IE11安装需要获取更新-安装失败
  20. 摄影教室:数码摄影区域曝光法实用教程

热门文章

  1. 分布式定时job-xxljob的详解、使用和创建(附带哔哩哔哩(bilibili)视频)
  2. 中微区块链集团副总裁Rata受邀2019年第三届深圳区块链与分布式存储大会,并发表主题演讲
  3. mysql宿舍水电管理系统_田林宿舍水电管理系统
  4. 手机语音翻译怎么做?分享一个简单办法,快速实现中英文语音对话
  5. bootstrap图标查询
  6. 技术文章 | 企业网站为什么要考虑SEO优化?
  7. 爆火!ChatGPT背后的这类芯片赢麻了!
  8. [SprintBoot]Flyway与Shiro加载冲突解决探讨
  9. 国产Linux操作系统
  10. 部门换届推文文字_【换届】遇见你们,真的很幸运了