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



如何在Linux中实时查看日志文件的内容?

其实有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容

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

Linux中实时显示文件内容的常用命令是tail命令,是实时显示日志文件的最常用解决方案

但是,显示该文件的命令有两个版本,如下面的示例所示

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

$ sudo tail -f *.log

该命令的第二个版本实际上是一个命令本身:tailf

你不需要使用该-f开关,因为该命令是与-f参数一起内置的

$ sudo tailf *.log

通常,logrotate实用程序会在Linux服务器上频繁地轮换日志文件

要查看每日基础上轮换的日志文件,可以使用tail -F命令

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

$ sudo tail -F *.log

但是,默认情况下,tail命令将显示文件的最后10行

例如,如果你只想实时查看日志文件的最后两行,请使用-n与该-f标志结合的文件,如下例所示

$ sudo tail -n2 -f *.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 *.log *.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 *.log *.log

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

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

tail实用程序一样,Shift+F在打开的文件中按下less将在文件结束后开始

或者,你也可以用较少的+F旗帜开始进入现场观看文件

$ sudo less + F *.log

声明:Wayen|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Linux实时查看日志的四种命令详解


-当你感到最无助困难的时候,那就是离成功最近的时候。-Martin Frohm