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
相关推荐
gnip2 小时前
企业级配置式表单组件封装
前端·javascript·vue.js
一只叫煤球的猫3 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
excel4 小时前
Three.js 材质(Material)详解 —— 区别、原理、场景与示例
前端
掘金安东尼4 小时前
抛弃自定义模态框:原生Dialog的实力
前端·javascript·github
hj5914_前端新手8 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法8 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku8 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode8 小时前
iOS 苹果内购 Storekit 2
前端
LuckySusu8 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu8 小时前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript