编程 别再用 tail -f 了!终端日志神器 · 搜索、高亮、过滤、书签全有-GitHub 开源神器 lnav,让终端看日志的效率直接拉满

2026-09-11 12:17:31

项目地址:https://github.com/tstack/lnav

别再用 tail -f 了!终端日志神器 · 搜索、高亮、过滤、书签全有-GitHub 开源神器 lnav,让终端看日志的效率直接拉满

做运维、后端开发的人,天天都要和日志打交道。默认的 tail -f 刷屏幕、grep 找内容,来回翻页费劲,没有高亮,多日志切换麻烦,排查问题的时候眼睛都要看花。

lnav 是专门为终端看日志打造的工具。它纯终端运行,不需要 GUI,自动识别常见日志格式,彩色高亮不同级别,支持实时刷新、关键词搜索、层级过滤、书签标记、多文件合并查看,甚至能用 SQL 查询日志。

核心亮点

自动识别日志格式

支持 Nginx、Apache、Syslog、Java Log4j 等几乎所有主流日志格式,自动解析时间、级别、进程、消息,不同级别用不同颜色高亮。

实时跟踪刷新

tail -f 一样实时更新新日志,但是支持暂停、回退、上下翻页,比 tail 灵活太多。

强大的过滤搜索

支持关键词高亮、正则搜索、按日志级别过滤(只看 ERROR)、按时间范围过滤,快速定位问题。

多文件统一查看

可以同时打开多个日志文件,自动按时间混合排序,排查关联问题不用来回切窗口。

书签与标记

重要日志行可以打书签,后面快速跳转回来,排查问题做标记特别方便。

安装

Ubuntu / Debian:

sudo apt install lnav

macOS:

brew install lnav

其他系统:去 GitHub Releases 下载对应二进制包,解压就能用,不需要依赖。

基础使用

直接在终端输入 lnav 你的日志文件路径,就能打开日志查看界面。如果是实时日志,会自动进入跟踪模式,新日志实时追加在底部。

核心操作快捷键

操作快捷键
上下滚动一行j / k 或方向键
上下翻页空格 / b
跳转到文件开头 / 结尾g / G
搜索关键词 / 下一个或上一个匹配项/关键词 / n / N
打开 / 关闭过滤Ctrl + W
只显示 ERROR 级别e
切换实时跟踪模式Ctrl + F
添加书签m
跳转到下一个书签'
退出q

进阶实用技巧

只看错误日志

打开日志后按 e,会自动过滤掉 INFO、WARN 级别,只显示 ERROR 和 FATAL,排查问题第一时间用。

时间范围过滤

输入 :time-start 2026-09-01 10:00:00:time-end 2026-09-01 12:00:00,只看这个时间段的日志。

多文件合并查看

lnav 日志1.log 日志2.log,自动按时间戳混合展示,排查跨服务关联问题超方便。

SQL 查询日志

lnav 支持用 SQL 语句查询日志内容,比如:

SELECT log_time, log_level, message
FROM all_logs
WHERE log_level = 'ERROR' LIMIT 20;

复杂条件筛选比 grep 灵活太多。

高频踩坑指南

超大日志打开慢:GB 级别的大日志首次打开会解析索引,需要一点时间;建议先用 grep 先缩小范围再用 lnav 查看。

自定义格式识别不了:特别小众的自定义日志格式,需要自己写格式配置文件,官方文档有详细教程。

不支持压缩日志:不能直接打开 gz、zip 压缩包,需要先解压再查看。

终端颜色显示异常:确保终端支持 256 色,不然高亮会显示不正常。

适合人群

运维工程师、后端开发、测试工程师,经常需要排查日志、定位问题的技术人员,终端里就能搞定,不用传文件到本地用 GUI 工具打开。

项目地址

https://github.com/tstack/lnav

复制全文 生成海报 lnav 日志 终端 运维 tail

推荐文章

程序员茄子在线接单