Linux实时查看日志的四种命令详解

转至:https://blog.csdn.net/qq_33223299/article/details/93773989

如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux中实时显示文件内容的常用命令是tail命令(有效地管理文件)。
1. tail命令 - 实时监控日志
如上所述,tail命令是实时显示日志文件的最常用解决方案。但是,显示该文件的命令有两个版本,如下面的示例所示。
在第一个示例中,命令tail需要-f参数来跟踪文件的内容。

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

83aa50019f8e0bdb84a50b71394a6e5.png

 实时监控Apache日志

该命令的第二个版本实际上是一个命令本身:tailf。你不需要使用该-f开关,因为该命令是与-f参数一起内置的。

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

41d88c9c0f722fa220a91f6e39e2830.png

实时Apache日志监控

通常,logrotate实用程序会在Linux服务器上频繁地轮换日志文件。要查看每日基础上轮换的日志文件,可以使用tail -F命令。

tail -F将跟踪正在创建的新日志文件,并开始跟踪新文件而不是旧文件。

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

但是,默认情况下,tail命令将显示文件的最后10行。例如,如果你只想实时查看日志文件的最后两行,请使用-n与该-f标志结合的文件,如下例所示。

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

5bfd02bd23fad6e4677c6b2dbfb5bd6.png

查看最后两行日志

2.multitail命令 - 实时监控多个日志文件

另一个有趣的实时显示日志文件的命令是multitail命令。该命令的名称意味着multitail实用程序可以实时监视和跟踪多个文件。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

e57af264bfd7c56ff411bd3222f31df.png

多点监控日志

3. lnav命令 - 实时监控多个日志文件

另一个有趣的命令,类似于multitail命令,是lnav命令。Lnav实用程序还可以观看和跟踪多个文件并实时显示其内容。

通过发出以下命令在基于Debian和RedHat的Linux发行版中安装lnav实用程序。

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

通过发出命令同时观察两个日志文件的内容,如下例所示。

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

c90df06c510790a59cbf892b850e89b.png

lnav - 实时日志监控

4. less命令 - 显示日志文件的实时输出

最后,如果键入,则可以使用less命令显示文件的实时输出Shift+F

与tail实用程序一样,Shift+F在打开的文件中按下less将在文件结束后开始。或者,你也可以用较少的+F旗帜开始进入现场观看文件。

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

1b2327c3d6726711f551f657415d87a.png

使用less命令监视日志

原文地址:https://www.cnblogs.com/my-first-blog-lgz/p/13840445.html