Linux 中,查询日志的常用命令
目录
1、基础查看命令
2、关键字过滤
3、时间范围查询
1、基础查看命令
- tail
用途:查看日志尾部内容,常用于实时监控日志更新。
tail -n 100 /var/log/syslog # 查看最后 100 行
tail -f /var/log/nginx/access.log # 实时跟踪日志更新(常用)
- head
用途:查看日志开头部分
head -n 50 /var/log/syslog # 查看前 50 行
- cat
用途:查看完整文件内容(适合小文件)
cat /var/log/boot.log
- less/more
用途:分页查看大文件(支持上下翻页、搜索)
less /var/log/kern.log # 按 `/` 搜索,按 `q` 退出
2、关键字过滤
- grep
用途:搜索包含特定关键词的行
grep "error" /var/log/syslog # 搜索 "error"
grep -i "warning" /var/log/syslog # 忽略大小写
grep -A 3 -B 2 "crash" /var/log/syslog # 显示匹配行的前后内容
grep -r "connection refused" /var/log/ # 递归搜索目录
- zgrep/zcat/zless
用途:直接搜索压缩日志文件(如.gz)
zgrep "404" /var/log/nginx/access.log.gz
3、时间范围查询
- sed
用途:按时间戳范围过滤日志
sed -n '/2023-10-25 14:00:00/,/2023-10-25 15:00:00/p' /var/log/app.log
- journalctl(Systemd日志)
用途:查看Systemd管理的服务日志,支持时间筛选
journalctl -u nginx.service --since "2023-10-25" --until "2023-10-26"
journalctl -f # 实时跟踪日志