如何在Linux中实时查看日志文件的内容?有很多实用工具可以帮助用户在文件修改或不断更新时跟踪或监控文件发生的变化,本篇文章为大家详细讲解一下Linux下实时监控日志文件具体方法。
使用 tail 命令
使用 tail 命令是实时跟踪日志文件的最基本方法。特别是,如果你所在的服务器只有一个终端,没有 GUI。这是很有帮助的。
比如:
tail /path/to/log/file
Monitoring multiple log files via tail
使用开关 -f 来跟踪日志文件,它是实时更新的。例如,如果你想跟踪 syslog,你可以使用以下命令:
tail -f /var/log/syslog
你可以用一个命令监控多个日志文件,使用:
tail -f /var/log/syslog /var/log/dmesg
如果你想监控 http 或 sftp 或任何服务器,你也可以在这个命令中监控它们各自的日志文件。
记住,上述命令需要管理员权限。
使用 lnav(日志文件浏览器)
lnav 是一个很好的工具,你可以用它来通过彩色编码的信息以更有条理的方式监控日志文件。在 Linux 系统中,它不是默认安装的。你可以用下面的命令来安装它:
sudo apt install lnav ### Ubuntusudo dnf install lnav ### Fedora
好的是,如果你不想安装它,你可以直接下载其预编译的可执行文件,然后在任何地方运行。甚至从 U 盘上也可以。它不需要设置,而且有很多功能。使用 lnav,你可以通过 SQL 查询日志文件,以及其他很酷的功能,你可以在它的 官方网站 上了解。
一旦安装,你可以简单地用管理员权限从终端运行 lnav,它将默认显示 /var/log 中的所有日志并开始实时监控。
关于 systemd 的 journalctl 说明
今天所有的现代 Linux 发行版大多使用 systemd。systemd 提供了运行 Linux 操作系统的基本框架和组件。systemd 通过 journalctl 提供日志服务,帮助管理所有 systemd 服务的日志。你还可以通过以下命令实时监控各个 systemd 服务和日志。
journalctl -f
下面是一些具体的 journalctl 命令,可以在一些情况下使用。你可以将这些命令与上面的 -f 开关结合起来,开始实时监控。
对紧急系统信息,使用:
journalctl -p 0
显示带有解释的错误:
journalctl -xb -p 3
使用时间控制来过滤输出:
journalctl --since "2020-12-04 06:00:00"journalctl --since "2020-12-03" --until "2020-12-05 03:00:00"journalctl --since yesterdayjournalctl --since 09:00 --until "1 hour ago"