如何在 Linux 中同时尾部多个文件
如果您是一名 Linux 系统管理员,监控服务器主机上的日志文件将是您的日常工作之一。 tail
命令非常方便,因为您可以通过使用 -f
选项运行 tail
来实时监控日志文件的增长情况。
如果您想同时监控多个日志文件怎么办?您可以在多个终端上运行 tail
,或者使用终端多路复用器(例如 screen
)在一个终端中启动 tail
的多个实例。但这两种方法都不方便同时监视多个日志文件。
在这篇文章中,我将描述如何在 Linux 中使用名为 multitail
的命令行工具同时尾部多个文件。
multitail
在终端内创建基于 ncurses
的多个屏幕,每个屏幕都可以运行类似 tail
的文件查看器的单独实例。
在 Linux 上安装 multitail
对于 Ubuntu 或 Debian:
要在 Ubuntu 或 Debian 上安装 multitail
:
$ sudo apt-get install multitail
对于费多拉:
要在 Fedora 上安装 multitail
:
$ sudo yum install multitail
对于 CentOS 或 RHEL:
要在 CentOS 或 RHEL 上安装 multitail
,请首先在系统上设置 Repoforge,然后运行:
$ sudo yum install multitail
使用 multitail
监控日志文件
下面,我将说明 multitail
命令的几个常见用例。
1. 监控多个日志文件在水平分割屏幕中的增长情况。
终端屏幕将自动分割为指定数量的日志文件。
$ sudo multitail --follow-all /var/log/auth.log /var/log/kern.log /var/log/syslog

2. 监控多个日志文件在垂直分割屏幕中的增长情况。
使用“-s N
”选项将屏幕垂直分割为N
列。
$ sudo multitail -s 3 --follow-all /var/log/auth.log /var/log/kern.log /var/log/syslog

3. 同时监控多个命令输出
除了跟踪日志文件之外,multitail
还可以在命令执行过程中监视外部命令的输出。为此,请使用“-l“command-to-run”
”选项。例如,您可以运行多个 ping
命令,并在分屏中同时监视各个 ping
输出,如下所示。
$ multitail -l "ping twitter.com" -l "ping google.com"
