在 Linux 上使用 Multitail命令的教程
MultiTail是个用来实现同时监控多个文档、类似tail命令的功能的软件。
他和tail的区别就是他会在控制台中打开多个窗口,这样使同时监控多个日志文档成为可能。
什么是MultiTail
MultiTail是一个开源的ncurses的实用工具,可用于在一个窗口或单一外壳,显示实时一样的尾巴命令,该命令拆分控制台为更多子窗口的日志文件的最后几行(很像显示多个日志文件到标准输出屏幕命令)。它还支持颜色突出显示,过滤,添加和删除窗口等。
特征
- 多个输入源。
- 在重要信息的情况下使用正则表达式的彩色显示。
- 线路滤波。
- 用于删除和添加shell的交互式菜单。
当你想同时查看多个文件(尤其是日志文件)的活动时,multitail 命令会非常有用。它的工作方式类似于多窗口形式的 tail -f 命令。也就是说,它显示这些文件的底部和添加的新行。虽然通常使用简单,但是 multitail 提供了一些命令行和交互式选项,在开始使用它之前,你应该了解它们。
基本 multitail 使用
multitail 的最简单用法是在命令行中列出你要查看的文件名称。此命令水平分割屏幕(即顶部和底部),并显示每个文件的底部以及更新。
$ multitail /var/log/syslog /var/log/dmesg
显示内容将像这样拆分:
+———————–+ | | | | +———————–| | | | | +———————–+
每个文件都有一行显示该文件的文件编号(从 00 开始)、文件名、文件大小、最新内容的添加日期和时间。每个文件将被分配一半空间,而不论它的大小和活动情况。比如:
content lines from my1.log
more content
more lines
00] my1.log 59KB - 2019/10/14 12:12:09
content lines from my2.log
more content
more lines
01] my2.log 120KB - 2019/10/14 14:22:29
请注意,如果你要求 multitail 显示非文本文件或者你无权查看的文件,它不会报错。你只是看不到内容。
你还可以使用通配符指定要查看的文件:
$ multitail my*.log
要记住的一件事是,multitail 将平均分割屏幕。如果指定的文件太多,那么除非你采取额外的步骤查看之后的文件(参考下面的滚动选项),否则你将只会看到前面 7 个文件的前面几行。确切的结果取决于终端窗口中有多少行可用。
按 q 退出 multitail 并返回到正常的屏幕视图。
分割屏幕
如果你愿意,multitail 也可以垂直分割你的终端窗口(即,左和右)。为此,请使用 -s 选项。如果指定了三个文件,那么屏幕右侧的窗口将会水平分隔。四个文件的话,你将拥有四个大小相等的窗口。
+———–+———–+ +———–+———–+ +———–+———–+ | | | | | | | | | | | | | | | | | | | | | | +———–+ +———–+———–+ | | | | | | | | | | | | | | | | | | +———–+———–+ +———–+———–+ +———–+———–+ 2 个文件 3 个文件 4 个文件
如果要将屏幕分为三列,请使用 multitail -s 3 file1 file2 file3。
+——-+——-+——-+ | | | | | | | | | | | | | | | | | | | | +——-+——-+——-+ 3 个文件带上 -s 3 选项
滚动
你可以上下滚动文件,但是需要按下 b 弹出选择菜单,然后使用向上和向下箭头按钮选择要滚动浏览的文件。然后按下回车键。然后,你可以再次使用向上和向下箭头在放大的区域中滚动浏览各行。完成后按下 q 返回正常视图。
获得帮助
在 multitail 中按下 h 将打开一个帮助菜单,其中描述了一些基本操作,但是手册页提供了更多信息,如果莫想了解更多有关使用此工具的信息,请仔细阅读。
默认情况下,你的系统上不会安装 multitail,但是使用 apt-get 或 yum 可以使你轻松安装。该工具提供了许多功能,不过它是基于字符显示的,窗口边框只是 q 和 x 的字符串组成的。当你需要关注文件更新时,它非常方便。
总结
以上所述是小编给大家介绍的在 Linux 上使用 Multitail命令的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle 数据库-服务器端字符集查看方法
- Pywinauto 应用后端类型选择错误:AttributeError: 'NoneType' object has no attribute 'backend'. 原因及解决办法
- 恕我直言你可能真的不会java第11篇-Stream API终端操作
- Python+selenium 自动化-滚动的使用方法,如何滚动到元素的位置
- 恕我直言你可能真的不会java第10篇-集合元素归约
- Python+selenium 自动化-模拟键盘输入、点击操作,如何查看所支持的全部键位名称
- Uber为什么放弃Postgres选择迁移到MySQL?
- BAT 批处理命令 - 文件批量复制、克隆功能实例演示
- 【35期】谈谈你对Java线程之间通信方式的理解
- mac 技术篇-修改hosts文件,hosts文件位置
- 一行能装逼的 JavaScript 代码
- python 技术篇-时间戳的获取,记录程序处理时间
- 基于SpringBoot AOP面向切面编程实现Redis分布式锁
- Python+Selenium 技巧篇-svg标签内元素的xpath定位方式
- 小书MybatisPlus第5篇-Active Record模式精讲