必须熟练掌握日志查看与分析方法:一、journalctl实时查systemd日志;二、tail动态追踪/var/log/文件;三、grep精准提取关键片段;四、less交互式浏览大日志;五、head与cat快速获取概览。

如果您需要在Linux系统中定位异常行为、排查服务故障或审计系统活动,则必须熟练掌握日志查看与分析方法。以下是多种可靠、可操作的日志查看与分析方法:
一、使用journalctl实时查看systemd日志
journalctl是现代Linux发行版(如Ubuntu 22.04+、CentOS 7+、Fedora)默认的系统日志管理工具,直接对接systemd日志总线,无需依赖文件路径,支持时间过滤、服务筛选与优先级控制。
1、执行journalctl命令查看全部日志(按空格或上下键滚动)。
2、运行journalctl -f持续输出最新日志条目,类似tail -f效果,Ctrl+C可中断实时流。
3、输入journalctl -u nginx.service仅显示Nginx服务相关日志。
4、执行journalctl --since "2026-01-09 10:00:00" --until "2026-01-09 12:30:00"精确限定时间范围。
5、使用journalctl -p err只显示错误级别(err)及更严重(crit、alert、emerg)的日志条目。
二、使用tail命令动态追踪日志文件
tail适用于传统syslog架构(rsyslog/syslog-ng)下的/var/log/目录日志文件,支持行数控制、轮转感知与管道过滤,适合高频率更新的日志场景。
1、运行tail -n 50 /var/log/auth.log显示安全认证日志最后50行。
2、执行tail -f /var/log/messages实时监控系统消息日志,日志轮转后自动切换至新文件需加-F参数。
3、输入tail -n +100 /var/log/kern.log从第100行起显示内核日志全文。
4、组合使用:tail -f /var/log/syslog | grep "Connection refused"实时捕获特定错误模式。
5、若需分页浏览大日志,执行tail -n 5000 /var/log/secure | less,进入less后按/pattern搜索。
三、使用grep精准提取关键日志片段
grep用于在静态或流式日志中匹配文本模式,配合上下文参数可还原事件全貌,是故障复现与根因分析的核心手段。
1、运行grep "Failed password" /var/log/auth.log提取所有SSH登录失败记录。
2、执行grep -C 3 "Out of memory" /var/log/messages显示OOM错误及其前后3行上下文。
3、输入grep -B 2 -A 5 "segmentation fault" /var/log/syslog获取段错误前2行、后5行完整调用栈。
4、使用grep -i "error\|warning" /var/log/apache2/error.log不区分大小写匹配多关键词。
5、对压缩日志(.gz)直接检索:zgrep "timeout" /var/log/syslog.1.gz。
四、使用less交互式浏览大日志文件
less提供内存友好的分页浏览能力,支持正向/反向搜索、行号跳转与模式高亮,特别适合离线分析GB级历史日志。
1、执行less /var/log/journal/*/*.journal~(需先解压)或less /var/log/dmesg打开内核环缓冲日志。
2、在less界面中输入/Failed回车,定位首个匹配项;按n跳转下一个,N反向跳转。
3、输入100G跳转至文件第100行;G跳至末尾;g跳至开头。
4、启用行号显示:启动时加-N参数,即less -N /var/log/secure。
5、退出less:按q键返回shell,不会修改原始日志文件。
五、使用head与cat快速获取日志概览
head和cat适用于快速确认日志结构、验证写入状态或导出样本,操作轻量、无依赖,适合脚本化调用与初步筛查。
1、运行head -n 20 /var/log/boot.log查看系统启动初期的前20行日志。
2、执行head -n -5 /var/log/maillog排除最后5行(可能为未完成写入的脏数据)。
3、输入cat /var/log/wtmp | last将二进制wtmp日志转换为可读登录历史。
4、使用cat /var/log/btmp | lastb解析失败登录记录(需root权限)。
5、组合管道:cat /var/log/syslog | wc -l统计日志总行数,评估日志膨胀程度。










