温馨提示×

Linux如何实时输出日志

小樊
39
2026-08-17 17:52:18
栏目: 智能运维

在 Linux 中,实时输出(查看)日志通常有以下几种常见方式,按使用频率从高到低介绍,并附上典型场景示例。


一、最常用:tail -f(实时查看文件日志)

基本用法

tail -f 日志文件

示例

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

✅ 特点:

  • 实时滚动显示新增内容
  • 适合查看 文件日志
  • Ctrl + C 退出

从文件末尾 N 行开始

tail -n 100 -f app.log

二、增强版:tail -F(推荐)

tail -F app.log

-f vs -F

参数 区别
-f 只跟踪文件描述符,文件被重建后失效
-F 自动重试(文件被 rotate 后仍然有效)✅

生产环境强烈推荐 -F


三、查看 systemd 服务日志(最常见)

实时查看某个服务

journalctl -u nginx -f

查看所有服务实时日志

journalctl -f

显示最近 100 行并实时

journalctl -n 100 -f

✅ 适合:

  • systemd 管理的服务
  • Docker / Kubernetes 节点日志

四、Docker 容器实时日志

查看容器日志

docker logs -f 容器名或ID

最近 100 行 + 实时

docker logs --tail 100 -f 容器名

五、实时过滤日志(grep)

实时搜索关键字

tail -f app.log | grep error

忽略大小写

tail -f app.log | grep -i error

高亮显示

tail -f app.log | grep --color=auto error

六、less 实时查看(可翻页)

less +F app.log

操作:

  • F:进入实时追踪
  • Ctrl + C:暂停
  • 上下键翻页
  • q 退出

✅ 适合 大文件日志


七、多日志同时实时查看

使用 multitail

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

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


八、实时输出程序本身的标准输出

前台运行

java -jar app.jar

后台运行但仍想实时看

java -jar app.jar > app.log 2>&1 &
tail -F app.log

九、常见场景速查表

场景 命令
查看文件日志 tail -F app.log
systemd 服务 journalctl -u xxx -f
Docker 容器 docker logs -f 容器
实时过滤 tail -F app.log | grep ERROR
大日志翻页 less +F app.log

如果你能告诉我:

  • 系统日志 / 应用日志 / Docker / Kubernetes
  • 日志是 文件还是 stdout
  • 是否要 过滤、高亮、多文件

我可以给你一条最合适的具体命令

0