首页/系统/Linux 运维命令速查/tail 同时跟踪多个文件
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

tail 同时跟踪多个文件

一条命令盯多个日志:多文件跟随自动带 ==> 文件名 <== 标题;-F 跟踪轮转,grep -m1 等到关键字自动退出。

Linux 运维命令速查系统更新于 2026-10-12
用途多文件实时跟踪/轮转续跟
语法tail -f 文件1 文件2 / tail -F 文件
差异-f 跟 inode;-F = --follow=name --retry,跟文件名(轮转后自动重开)

多文件跟踪

多文件跟踪
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
tail -n 50 -F /opt/app/logs/app.log      # 轮转后继续跟
tail -f app.log | grep --line-buffered ERROR   # 只看错误且实时

等到关键字自动退出

等到关键字自动退出
tail -f deploy.log | grep -m1 'STARTED'   # 出现 STARTED 即结束
timeout 60 tail -f deploy.log | grep -m1 'READY' || echo '超时未见 READY'
容器场景日志交给容器运行时:优先 docker logs -f --tail 100;宿主机落盘日志才用 tail。

易错点

  • logrotate 轮转后普通 -f 会「追着旧 inode」看不到新日志:长期跟踪一律 -F
  • 管道里接 grep 必须 --line-buffered,否则 grep 块缓冲把实时性吃光

数据来源与参考

  • man 1 tail(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌