首页
关于
Search
1
从零开始学 Linux:终端手记阅读指南
44 阅读
2
修改 Nginx 配置前后,我会检查的六件事
38 阅读
3
Linux 命令行入门:先练熟这 12 个命令
36 阅读
4
systemctl 与 journalctl:服务故障排查的固定顺序
29 阅读
5
Docker 第一次练习:镜像、容器、日志和端口
28 阅读
Linux 入门
命令与学习指引
文件与权限
系统管理
服务与资源管理
Web 与 PHP 配置
MySQL 运维
监控与日志
Shell 自动化
Bash 基础与可靠性
文本与日志处理
定时任务与备份
排错复盘
服务与通知排障
存储与恢复排查
网络基础
连通性与防火墙
HTTP 路由与代理
Web 探测与指标
容器实践
Docker 入门
数据持久化
工具与效率
Git 版本管理
终端与远程工具
登录
Search
标签搜索
Linux
学习路线
新手入门
chmod
文件权限
systemd
Bash
SSH
命令行
软件包管理
磁盘空间
日志分析
阿远
累计撰写
45
篇文章
累计收到
20
条评论
首页
栏目
Linux 入门
命令与学习指引
文件与权限
系统管理
服务与资源管理
Web 与 PHP 配置
MySQL 运维
监控与日志
Shell 自动化
Bash 基础与可靠性
文本与日志处理
定时任务与备份
排错复盘
服务与通知排障
存储与恢复排查
网络基础
连通性与防火墙
HTTP 路由与代理
Web 探测与指标
容器实践
Docker 入门
数据持久化
工具与效率
Git 版本管理
终端与远程工具
页面
关于
搜索到
1
篇与
的结果
2026-10-26
用 grep、awk、sort 做一次访问日志速查
日志分析不一定要先搭平台。面对一个小型 Nginx 访问日志,命令行可以很快回答三个问题:错误是否集中、哪些地址访问最多、问题从何时开始。以下示例以常见的 combined 日志格式为前提;自定义格式要先核对字段。先看样本,再写命令head -n 3 access.log tail -n 20 access.log确认每行是否包含客户端 IP、时间、请求路径和状态码。不要直接把看不懂的日志交给一条复杂管道。统计状态码awk '{print $9}' access.log | sort | uniq -c | sort -nr在常见 combined 格式中第 9 列是 HTTP 状态码。sort 先把相同值放在一起,uniq -c 才能正确计数。如果你的格式不同,应先用 awk '{print $9}' access.log | head 验证字段。找出 5xx 最集中的客户端awk '$9 ~ /^5/ {print $1}' access.log | sort | uniq -c | sort -nr | head这里的结果只是排查线索。客户端 IP 可能经过代理,也可能是负载均衡器地址;不能据此直接认定某个用户造成故障。再结合时间段、请求路径和应用日志判断。留下可复用的结论把命令、日志格式、时间范围和统计结果放在同一份笔记里。日后日志格式变化时,先更新字段假设,而不是继续相信旧脚本的输出。涉及用户请求和 IP 的原始日志,在公开笔记中先做脱敏。统计口径与预期将文中的 access.log 替换为真实日志文件,先检查样本。awk 输出的 200、404、500 是按空白切分后的第九列,这只适用于约定的日志格式。没有匹配的 5xx 时,管道可能没有输出,这是零条匹配,不代表命令卡死。结果应称请求次数,不是独立访客人数;日志关闭、轮转、代理和爬虫都会改变统计口径。内容复核与修订:2026-10-29。实验示例与本站运行记录分别说明;原始归档日期保留。
2026年10月26日
18 阅读
0 评论
1 点赞