欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  运维

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

程序员文章站 2022-03-11 18:02:05
...
如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux中实时显示文件内容的常用命令是tail命令(有效地管理文件)。

1. tail命令 - 实时监控日志

如上所述,tail命令是实时显示日志文件的最常用解决方案。但是,显示该文件的命令有两个版本,如下面的示例所示。

在第一个示例中,命令tail需要-f参数来跟踪文件的内容。

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

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

实时监控Apache日志

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

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


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

实时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

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

查看最后两行日志

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

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

多点监控日志

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

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

lnav - 实时日志监控

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

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

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

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

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

使用less命令监视日志

以上就是Linux实时查看日志的四种命令详解的详细内容,更多请关注其它相关文章!