日志文件存储位置
Linux日志通常位于/var/log/
目录:
- 系统日志:
/var/log/syslog
(Ubuntu/Debian)或/var/log/messages
(CentOS/RHEL) - 认证日志:
/var/log/auth.log
(记录登录、sudo操作) - 内核日志:
/var/log/kern.log
- 服务日志:如Nginx(
/var/log/nginx/
)、Apache(/var/log/apache2/
) - 系统工具日志:
journalctl
(systemd系统专用)
核心查看命令及示例
实时跟踪日志(动态更新)
tail -f /var/log/syslog # 实时监控最新日志 tail -f /var/log/nginx/access.log | grep "404" # 过滤显示404错误
查看完整日志文件
cat /var/log/syslog # 显示全部内容(小文件适用) less /var/log/kern.log # 分页查看(支持上下翻页、搜索)
- 操作技巧:在
less
中按输入关键词(如/error
)搜索,按n
跳转到下一个匹配项。
过滤关键信息
grep "Failed password" /var/log/auth.log # 筛选登录失败记录 grep -C 5 "error" /var/log/syslog # 显示错误行及前后5行上下文 zgrep "timeout" /var/log/syslog.1.gz # 搜索压缩日志
按时间范围查看
# 查看最近2小时的日志 awk -vDate="$(date -d '2 hours ago' +'%b %_d %H:%M:%S')" '$0 > Date' /var/log/syslog # 使用journalctl(systemd系统) journalctl --since "2025-07-01 00:00:00" --until "2025-07-02 12:00:00"
分页查看大文件
more /var/log/longfile.log # 逐页显示(空格翻页) less -S /var/log/large.log # 禁止换行(适合宽表格数据)
查看日志开头/结尾
head -n 50 /var/log/syslog # 显示前50行 tail -n 100 /var/log/nginx/access.log # 显示最后100行
高级工具推荐
-
journalctl
(systemd专属)journalctl -u nginx.service -f # 实时跟踪Nginx日志 journalctl -p err --since today # 查看今日所有错误日志
-
日志分析工具
- Logwatch:自动生成日志摘要报告(安装:
sudo apt install logwatch
)。 - GoAccess:实时Web日志分析(支持HTML报表生成):
goaccess /var/log/nginx/access.log --log-format=COMBINED
- Logwatch:自动生成日志摘要报告(安装:
最佳实践与注意事项
-
权限管理:
- 普通用户可能无权查看日志,需用
sudo
提权(如sudo less /var/log/syslog
)。 - 避免直接修改日志文件,防止数据损坏。
- 普通用户可能无权查看日志,需用
-
日志轮转机制:
- 旧日志会被压缩为
.gz
格式(如syslog.1.gz
),使用zcat
或zgrep
查看。
- 旧日志会被压缩为
-
安全建议:
- 敏感日志(如
auth.log
)应限制访问权限(chmod 600
)。 - 定期清理日志(通过
logrotate
配置),防止磁盘占满。
- 敏感日志(如
-
调试技巧:
- 结合时间戳:
grep "$(date +'%b %d')" /var/log/syslog
过滤当天日志。 - 多条件搜索:
grep -e "error" -e "warning" /var/log/syslog
。
- 结合时间戳:
掌握Linux日志查看技能,能快速定位系统故障、安全事件及性能瓶颈,核心步骤包括:
- 确定日志路径 → 2. 选择命令(
tail
/grep
/less
) → 3. 过滤关键信息 → 4. 结合时间分析。
对于复杂场景,可借助journalctl
或专业工具(如ELK堆栈)实现自动化分析。
引用说明基于Linux核心文档(man pages)、Ubuntu/CentOS官方手册及《Linux系统管理技术手册》中的日志管理原则,命令示例已在Ubuntu 22.04及CentOS 7环境中验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6652.html