Linux 实时查看日志文件的 4 种方法

439d03aafd371a2cc1c16e7eae4ae5b5.png

来源 | GOPS 全球运维大会 2021 · 上海站

在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令了。

1. tail Command – Monitor Logs in Real Time

如前所述,tail 命令是实时显示日志的最常用的方法。不过该命令有两个版本,如下所示。

第一个例子是为 tail 命令加上 -f 参数。

$ sudo tail -f /var/log/apache2/access.log

69684b047951f89b85d3847bd18dc3bc.png

第二个例子就是 tailf 命令。它本身内建了 -f 参数,因此你无需再为它指定 -f 参数。

$ sudo tailf /var/log/apache2/access.log

58275c2c658ac91f7eabbea731bcadd0.png

通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。

如果您正在学习Spring Boot,推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/

tail -F 会监控是否创建了新日志(所谓新日志指的是同一个名字,但是 fd 不一样的日志文件),并且会转而显示新日志的内容,而不是老文件的内容。

$ sudo tail -F /var/log/apache2/access.log

然而,默认情况下 tail 命令只会显示文件最后 10 行的内容。如果你只想在实时模式下查看最后两行的内容,那么可以连用 -n 和 -f 参数,如下这样:

$ sudo tail -n2 -f /var/log/apache2/access.log

63e71382987abdbacd15c8927ca91cc1.png

2. Multitail Command – Monitor Multiple Log Files in Real Time

另一个好玩的命令是 Multitail Command。从名字中就能看出它可以实时监控多个日志,Multitail 还能让你前后翻阅被监控的文件。

使用下面命令可以在基于 Debian 或 RedHat 的系统中安装 Mulitail。

$ sudo apt install multitail   [On Debian & Ubuntu]
$ sudo yum install multitail   [On RedHat & CentOS]
$ sudo dnf install multitail   [On Fedora 22+ version]

下面例子演示了如何同时显示两个日志文件。

$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

72531625edf0d0e41136226406650b5c.png

3. lnav Command – Monitor Multiple Log Files in Real Time

另一个类似 Multitail 的命令是 Lnav,Lnav 也能实时监控多个文件。

使用下面命令可以在基于 Debian 或 RedHat 的系统中安装 Lnav。

$ sudo apt install lnav   [On Debian & Ubuntu]
$ sudo yum install lnav   [On RedHat & CentOS]
$ sudo dnf install lnav   [On Fedora 22+ version]

使用 Lnav 同时查看两个日志的方法如下:

$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

4928792587f30901ebda9d65927751ca.png

4. less Command – Display Real Time Output of Log Files

最后你可以用 less 命令 查看日志文件,然后按下 Shift+F 也能实时查看日志内容。

跟 tail 一样, 在 less 中按下 Shift+F 会追踪文件末尾的内容。你也可以在调用 less 命令时就加上 +F 参数。

sudo less + F /var/log/apache2/access.log

c586e6981ef634a86b56b9d8d9c1709f.png

下面是其他一些关于日志监控与管理的文章,值得一读。

  • Manage Files Effectively using head, tail and cat Commands in Linux

  • How to Setup and Manage Log Rotation Using Logrotate in Linux

  • Petiti – An Open Source Log Analysis Tool for Linux SysAdmins

  • How to Query Audit Logs Using ‘ausearch’ Tool on CentOS/RHEL

  • Manage Log Messages Under Systemd Using Journalctl {Comprehensive Guide}

往期推荐

手下两个应届生,一个踏实喜欢加班,一个技术强挑活,怎么选?

我去!每天都用的这个操作居然算“黑客行为”?

为什么IDEA不推荐你使用@Autowired ?

GitHub高赞,一款足以取代迅雷的开源下载工具

炸裂!跑P站上教微积分,年入170w...

4c33eccbfef36e2914919e870f2be376.png技术交流群0af633d728ac5e7f0e2fb4ff94a34f39.png

最近有很多人问,有没有读者交流群,想知道怎么加入。加入方式很简单,有兴趣的同学,只需要点击下方卡片,回复“加群“,即可免费加入我们的高质量技术交流群!

点击阅读原文,送你免费Spring Boot教程!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值