在学习了Unix操作系统的很多工具后,今天我们要学习用 multitail 查看许多文件。也许很多朋友会问,为什么要使用 multitail 查看许多文件呢,这能给我们带来什么呢?下面,我们就一起来看看吧!
无论您是调试新代码的开发人员,还是监视系统的系统管理员,都常常需要同时查看许多东西。如果您是开发人员,为了寻找 bug,可能要查看调试日志和 stdout;如果您是管理员,可能要根据需要调整策略活动。Unix操作系统中,这些任务常常需要在屏幕上显示许多窗口;例如,在一个窗口中执行 tail,在另一个窗口中执行 less,在第三个窗口中显示命令提示。
如果必须同时监视多个文件,那么可以考虑使用 multitail。顾名思义,这个实用程序把一个控制台窗口分割为多个部分,每个日志文件一个部分。更棒的是,multitail 可以给已知的格式加颜色标记(还可以定义定制的颜色方案),可以把多个文件合并成一个流。
Unix操作系统中为了构建 multitail,需要下载源代码、解压它并运行 make。(发行版的通用 makefile 中的选项对于大多数Unix操作系统应该足够了。如果 make 运行失败,那么在顶层目录中寻找适合自己系统的 makefile)。
- # As this article was written, the latest version of multitail was 5.2.2
- $ wget http://www.vanheusden.com/multitail/multitail-5.2.2.tgz
- $ tar xzf multitail-5.2.2.tgz
- $ cd multitail-5.2.2
- $ make
- $ sudo make install
下面是Unix操作系统 multitail 的一些使用示例:
为了在同一窗口中查看多个日志文件,用一个文件名列表启动这个实用程序,比如 multitail /var/log/apache2/{access,error}.log。
为了在同一窗口中查看两个文件并缓冲读取的所有信息,使用 -I 选项把指定的文件与另一个文件合并,比如 multitail -M 0 /var/log/apache/access.log -I /var/log/apache/error.log。在这里,把 Apache 错误日志和访问日志合并在一起。-M 0 记录输入的所有数据;在任何时候,按 B 键即可看到缓冲区。
还可以组合命令和文件。例如,为了查看一个日志文件并监视 ping 的输出,可以使用 multitail logfile -l "ping 192.168.1.3"。这会在同一控制台中创建两个视图:一个视图显示 logfile 的内容,另一个视图显示 ping 192.168.1.3 的输出。
Unix操作系统中除了命令行选项之外,multitail 还提供一组交互式命令,它们影响显示的当前状态。例如,在显示中按 A 键可以添加新的日志文件。按 B 键显示保存的缓冲区。按 Q 键退出 multitail。命令的完整列表见 multitail 的手册页。 可以看出,它在Unix操作系统中真的很重要,给我们能带来很多的方便。
【编辑推荐】