项目地址: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 工具打开。