如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux中实时显示文件内容的常用命令是tail命令(有效地管理文件)。
1. tail命令 - 实时监控日志
如上所述,tail命令是实时显示日志文件的最常用解决方案。但是,显示该文件的命令有两个版本,如下面的示例所示。
在第一个示例中,命令tail
需要-f
参数来跟踪文件的内容。
$ sudo tail -f /var/log/apache2/access.log
实时监控Apache日志
该命令的第二个版本实际上是一个命令本身:tailf
。你不需要使用该-f
开关,因为该命令是与-f
参数一起内置的。
$ sudo tailf /var/log/apache2/access.log
实时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
查看最后两行日志
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
多点监控日志
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
lnav - 实时日志监控
4. less命令 - 显示日志文件的实时输出
最后,如果键入,则可以使用less命令显示文件的实时输出Shift+F
。
与tail实用程序一样,Shift+F
在打开的文件中按下less
将在文件结束后开始。或者,你也可以用较少的+F
旗帜开始进入现场观看文件。
$ sudo less + F /var/log/apache2/access.log
使用less命令监视日志
以上是Linux实时查看日志的四种命令详解的详细内容。更多信息请关注PHP中文网其他相关文章!