Linux查看日志常用命令包括:tail查看末尾、tail -f实时监控、grep动态过滤、less交互浏览、journalctl管理systemd日志。

如果您需要在Linux系统中查看日志文件内容,或持续观察日志的最新写入情况,则需借助命令行工具进行操作。以下是几种常用且有效的实现方式:
一、使用tail命令查看日志末尾内容
tail命令默认显示文件末尾10行,适用于快速确认最近发生的事件。它不加载整个文件,因此对大日志文件响应迅速。
1、输入tail /var/log/syslog查看系统日志最后10行(Ubuntu/Debian路径)。
2、输入tail /var/log/messages查看系统日志最后10行(CentOS/RHEL路径)。
3、使用-n选项指定行数,例如tail -n 50 /var/log/secure显示安全日志最后50行。
二、使用tail -f实时监控日志变化
tail -f会保持终端打开并持续输出新追加到文件的内容,适合调试服务启动、排查错误或观察守护进程行为。
1、执行tail -f /var/log/nginx/access.log实时跟踪Nginx访问日志。
2、按Ctrl+C可中断监控并返回shell提示符。
3、若日志被轮转(如logrotate触发),原文件句柄可能失效;此时可改用tail -F(大写F),它会在文件被重命名或重建后自动追踪新文件。
三、结合grep过滤关键词定位问题
在海量日志中直接查找特定错误、用户或状态码,能大幅缩短排查时间。grep与tail组合可实现动态过滤。
1、运行tail -f /var/log/auth.log | grep "Failed password"实时捕获SSH登录失败记录。
2、添加--line-buffered参数确保grep输出不延迟:tail -f /var/log/kern.log | grep --line-buffered "error"。
3、使用-i忽略大小写,例如tail -f /var/log/maillog | grep -i "reject"匹配所有大小写的reject字样。
四、使用less命令交互式浏览大日志文件
less支持向前/向后翻页、搜索、行号显示等,适合需要反复查阅、定位上下文的大体积日志文件。
1、输入less /var/log/journal/syslog打开日志(需先确保journalctl导出为文本)。
2、在less界面中按/关键字进行正向搜索,例如输入/Connection refused回车。
3、按n跳转到下一个匹配项,按N跳转至上一个匹配项;按G跳至文件末尾,按g跳至开头。
五、使用journalctl查看systemd日志
对于采用systemd的现代Linux发行版,journalctl是比传统日志文件更全面的日志管理工具,支持时间范围、服务名、优先级等多维筛选。
1、执行journalctl -u sshd.service -f实时跟踪sshd服务日志。
2、限制时间范围,例如journalctl --since "2024-06-01" --until "2024-06-02"查询两天内的全部日志。
3、按优先级过滤,如journalctl -p err -b仅显示当前启动会话中的错误级别日志。










