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 -fjournalctl -f
关键词搜索 grep "关键词" [文件]
大文件浏览 less [文件]
按时间筛选 journalctl --since "时间"sed
结构化分析 awk
相关推荐
Juchecar7 分钟前
npm、pnpm、yarn 是什么?该用哪个?怎么用?如何迁移?
前端·node.js
CYRUS_STUDIO10 分钟前
Miniconda 全攻略:优雅管理你的 Python 环境
前端·后端·python
学不动学不明白11 分钟前
ECharts 为visualMap视觉映射添加自适应外边框
前端
怪可爱的地球人15 分钟前
ts的高级类型
前端
支撑前端荣耀15 分钟前
优雅的Git提交:用Husky为你的项目加上提交约束
前端·javascript
支撑前端荣耀17 分钟前
前端CI/CD深度实践:从代码提交到自动化部署的专业化流水线
前端
林太白37 分钟前
npm多组件发布Vue3+TS版本,快来像Antd一样搭建属于你的UI库吧
前端·javascript·node.js
Juchecar44 分钟前
如何避免Node.js项目node_modules重复占用空间
前端
百罹鸟1 小时前
nestjs 从零开始 一步一步实践
前端·node.js·nestjs