Linux查看日志常用命令总结

在 Linux 中查看日志有多种强大的命令和工具,根据你的具体需求(如实时跟踪、搜索、过滤等)可以选择不同的命令。以下是一些最常用和高效的方法:


1. 基础查看命令

tail - 查看日志尾部(最常用)

  • 实时跟踪最新日志:

    bash 复制代码
    tail -f /var/log/syslog        # 实时跟踪文件变化(默认10行)
    tail -f -n 20 /var/log/syslog  # 实时跟踪并显示最后20行
  • 查看最后100行:

    bash 复制代码
    tail -n 100 /var/log/nginx/access.log

head - 查看日志头部

bash 复制代码
head -n 50 /var/log/syslog   # 查看前50行

cat - 全部输出(适合小文件)

bash 复制代码
cat /var/log/syslog          # 一次性显示全部内容(大文件慎用)

less / more - 分页查看(推荐大文件)

bash 复制代码
less /var/log/syslog         # 支持上下翻页、搜索(按 `/` 搜索,`q` 退出)
more /var/log/syslog         # 基本分页(空格翻页)

2. 高级过滤与搜索

grep - 关键字过滤

bash 复制代码
grep "ERROR" /var/log/syslog                 # 搜索包含 "ERROR" 的行
grep -i "error" /var/log/syslog              # 忽略大小写
grep -C 3 "error" /var/log/syslog            # 显示匹配行及前后3行
grep -v "INFO" /var/log/syslog               # 排除包含 "INFO" 的行

awk - 按列过滤

bash 复制代码
awk '{print $1}' /var/log/access.log         # 输出第一列(如IP地址)
awk '$9 == 500 {print $7}' /var/log/access.log  # 找出状态码500的请求路径

sed - 流编辑器

bash 复制代码
sed -n '10,20p' /var/log/syslog              # 只输出第10到20行

3. 组合命令(高效排查)

实时跟踪并过滤关键字:

bash 复制代码
tail -f /var/log/nginx/access.log | grep "404"

统计错误出现的次数:

bash 复制代码
grep -c "ERROR" /var/log/syslog

查看某个时间段的日志:

bash 复制代码
sed -n '/2023-10-27 14:00:00/,/2023-10-27 15:00:00/p' /var/log/syslog

4. 专用日志工具

journalctl - systemd 日志(现代Linux发行版)

bash 复制代码
journalctl -f                      # 实时跟踪系统日志
journalctl -u nginx.service        # 查看nginx服务的日志
journalctl --since "2023-10-27 14:00:00" --until "2023-10-27 15:00:00"

logrotate - 日志轮转配置

(不是直接查看日志,但管理日志分割)


5. 高级工具(如需复杂分析)

  • multitail:同时监控多个日志文件(需安装)
  • lnav:日志文件浏览器(支持语法高亮、SQL查询)
  • GoAccess:实时Web日志分析工具

总结推荐

场景 推荐命令
实时跟踪日志 tail -f 或 journalctl -f
关键词搜索 grep "关键词" [文件]
大文件浏览 less [文件]
按时间筛选 journalctl --since "时间" 或 sed
结构化分析 awk
相关推荐
Lvan的前端笔记3 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习3 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194054 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风5 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn6 小时前
框架性能优化
前端
回眸&啤酒鸭8 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013848 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员8 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子8 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
IT_陈寒8 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端