Linux系统中实时查看日志

在Linux中查看文件可以使用cat或者less命令,查看静态文件这种方式是可以的。对于动态文件,其内容会随时变化,要检测日志文件需要实时获取其内容。本文将介绍一些可以实时查看日志文件的命令和方法。

一. 使用tail命令

1. tail-f

tail命令用于查看文件末尾的内容,使用-f可以跟踪文件末尾的内容,这就意味着它会持续显示被加入到新文件中的内容。

tail -f /var/log/syslog

#举例:
$ sudo tail -f /var/log/apache2/access.log
  • -f会持续显示文件新增内容

要停止跟踪日志文件,可以使用CTRL+C。

2. 结合grep命令过滤关键信息‌

tail 命令可以实时查看文件内容的变化。但是,当文件内容更新特别快速的时候,刚刚更新的内容一闪而过,这种情况下,查看起来就不那么方便了。

为了解决这个问题,可以将 tail 和 grep 命令结合起来使用。

tail -f /var/log/syslog | grep "error"

使用 grep 展示搜索词,显示的信息比较有限,它只显示检索结果,因此可以使用 -C 选项来显示检索结果的前后几行:

tail -f /var/log/syslog | grep -C 3 "keywords"
3. 使用tail -F参数

通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。

tail -F 会监控是否创建了新日志(所谓新日志指的是同一个名字,但是 fd 不一样的日志文件),并且会转而显示新日志的内容,而不是老文件的内容。

tail -F /var/log/apache2/access.log
  • 默认情况下只显示后10行内容,可使用-n-f选择后几行
#查看后两行
$ sudo tail -n2 -f /var/log/apache2/access.log
4. 使用tailf命令

tailf命令本身内建了-f参数

tailf /var/log/apache2/access.log

二. less命令

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。

可以用 less 命令 查看日志文件,然后按下 Shift+F 实时查看日志内容。 less 中按下 Shift+F 会追踪文件末尾的内容。

也可以在调用 less 命令时就加上 +F 参数。

less +F /var/log/apache2/access.log

上述命令会打开日志文件,并实时显示正在写入的更改。

按 ctrl +c 中断显示,按 q 会退出视图。

三. 使用multitail命令

如果需要同时监控多个日志文件,可以使用multitail命令。这个命令可以同时查看和比较多个日志文件的内容。

multitail 可以在拆分视图中显示文件,甚至可以在不同的行和列中显示不同的文件。

multitail /var/log/apache2/access.log /var/log/apache2/error.log

默认情况下multitail 的工作方式与 tail -f 相同,它显示最后100行,然后进入实时监视视图;另外,它按行来拆分视图。

可以按 b 键打开一个文件选择窗口,选择某个日志文件查看,以做进一步分析。

分割视图可以使用 -s 选项,后面跟一个数字,即视图的数量:

multitail -s 2 log_file1 log_file2

按 q 键可退出 multitail 所有的视图。

注意:multitail 在大多数Linux系统中没有被默认安装,所以在使用前需要先手动安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值