温馨提示×

linux怎么实时看日志

小樊
38
2026-10-26 03:30:13
栏目: 智能运维

在 Linux 下“实时看日志”最常用的是 tail -f 和 tail -F,此外还有 less、multitail、journalctl 等方式。下面按使用场景给你总结一下。


一、最常用:tail 实时查看日志

1️⃣ 实时查看日志(推荐)

tail -f /var/log/nginx/access.log
  • -f:follow,文件内容更新时自动刷新
  • 适合日志文件**不会轮转(rotate)**的情况

2️⃣ 文件可能被切割/重命名(更安全)

tail -F /var/log/nginx/access.log
  • -F = -f --retry
  • 日志被 logrotate 切割后依然能继续跟踪

3️⃣ 从末尾 N 行开始看

tail -n 100 -f app.log

先看最后 100 行,再实时跟踪


二、用 less 实时看(可搜索)

less +F app.log
  • 进入后按 F 实时跟踪
  • 按 Ctrl + C 停止
  • 可 /关键字 搜索
  • 再按 F 继续实时

适合边看边查日志


三、Systemd 系统日志(journalctl)

如果是 systemd 管理的服务:

journalctl -u nginx -f

查看某个服务实时日志:

journalctl -u docker.service -f

所有系统日志实时:

journalctl -f

常见参数:

  • -n 100:先看 100 行
  • --since "10 min ago"
  • -p err:只看错误

四、同时看多个日志

1️⃣ 多文件

tail -f /var/log/nginx/access.log /var/log/nginx/error.log

2️⃣ 更好用的工具:multitail

multitail /var/log/nginx/access.log /var/log/nginx/error.log

(需安装:yum install multitail / apt install multitail)


五、结合 grep 实时过滤

tail -f app.log | grep ERROR

只看错误:

tail -F app.log | grep -i error

六、常见坑提醒 ⚠️

  • tail -f 在日志 被 mv / 切割 后会失效 → 用 tail -F
  • 容器日志用:
    docker logs -f 容器名
    
  • k8s:
    kubectl logs -f pod名
    

如果你有具体场景(比如 Nginx / Java / Docker / K8s / 某个程序),我可以直接给你最合适的一条命令。

0 踩