linux如何动态查看日志
linux如何动态查看日志详细介绍
在 Linux 系统中动态查看日志(即实时监控日志文件更新),常用以下命令和技巧:
1.
tail 命令(最常用)
tail 命令默认显示文件末尾内容,配合 -f 选项可实时追踪文件更新,适合监控正在写入的日志。
基本用法:
bash
日志文件路径
- 示例:监控
/var/log/nginx/access.log的实时更新bash/var/log/nginx/access.log
常用选项:
-n <行数>:指定显示文件末尾的行数(默认 10 行)。
例如显示最后 50 行并实时追踪:bash/var/log/syslog--retry:当日志文件被删除或轮转(如被logrotate处理)时,持续尝试重新连接文件(避免因日志切割导致监控中断)。bash/var/log/app.log
2.
less 命令(支持交互)
less 不仅能查看文件,还支持动态刷新(类似 tail -f),且可通过快捷键灵活操作。
用法:
bash
+F 日志文件路径
- 进入后,日志会实时刷新(效果类似
tail -f)。 - 退出实时模式:按
Ctrl + C暂停刷新,回到普通查看模式(可上下滚动、搜索)。 - 完全退出:在暂停模式下按
q。
3. 过滤关键内容(结合
grep)
若需监控特定关键字的实时日志,可通过 grep 过滤:
bash
/var/log/app.log
注意事项:
- 日志轮转:部分日志(如系统日志、服务日志)会被
logrotate定期切割(如按天、按大小),旧日志会被压缩或重命名,新日志文件会被创建。此时tail -f可能失效,需配合--retry选项(或重启命令)。 - 权限问题:部分日志文件(如
/var/log/下的文件)可能需要sudo权限才能查看。
总结
- 实时监控首选
tail -f(简单高效); - 需要交互操作(如搜索、滚动)用
less +F; - 过滤特定内容时结合
grep。