查看原文
其他

Linux 实时查看日志文件的 4 种方法,总有一款适合你

点击上方 "Linux就该这样学关注,星标或者置顶,第一时间送达

责编:Linux妹 | 来源good well

链接:blog.csdn.net/qq_33223299/article/details/93773989

上一篇:2021编程语言排行榜出炉!

大家好,我是Linux妹。

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

1. tail Command – Monitor Logs in Real Time

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

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

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

第二个例子就是 tailf 命令。它本身内建了 -f 参数,因此你无需再为它指定 -f 参数。
$ sudo tailf /var/log/apache2/access.log

通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。
tail -F 会监控是否创建了新日志(所谓新日志指的是同一个名字,但是 fd 不一样的日志文件),并且会转而显示新日志的内容,而不是老文件的内容。
$ sudo tail -F /var/log/apache2/access.log
然而,默认情况下 tail 命令只会显示文件最后 10 行的内容。如果你只想在实时模式下查看最后两行的内容,那么可以连用 -n 和 -f 参数,如下这样:
$ sudo tail -n2 -f /var/log/apache2/access.log

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

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

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

下面是其他一些关于日志监控与管理的文章,值得一读。
  • 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}

  声明:本文部分素材转载自互联网,如有侵权立即删除 。

--END--

往日精彩:

谁再说不熟悉Linux命令,就把这个给他扔过去!

5分钟带你了解Linux常用命令全称

常考的 21 条 Linux 命令

Linux 磁盘空间被吃掉了?这样排查不背锅!

为什么年轻一代连操作系统的基本知识都不懂?

这6个 Linux 命令,每个都很炫酷!

Linux进程之如何查看进程详情?

盘点程序员写过的惊天 Bug:损失 3 千万不算啥,就差毁灭世界了

喜欢本文的朋友们,欢迎长按二维码,关注订阅号Linux就该这样学


收看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存