Linux系统查询日志命令

分类:技术最近更新:2026-04-15浏览:2150

Linux 日志查询常用命令

一、基础查看命令

1. cat

一次性输出完整文件内容,适合小日志文件,不建议查看大文件。

参数说明示例
-n所有行显示行号cat -n filename
-b仅非空行显示行号cat -b filename
-E行尾添加 $ 标识结束符cat -E filename
-TTab 制表符展示为 ^Icat -T filename
-v展示不可打印特殊字符cat -v filename
-s压缩连续多个空行为一行cat -s filename

2. head

查看文件开头内容,默认展示前10行。

bash
# 默认前10行 head filename # 指定查看前20行 head -n 20 filename

3. tail

查看文件末尾内容,日志实时排查高频命令。

参数说明示例
-n 数字查看文件末尾指定行数tail -n 10 filename
-f实时跟踪日志新增内容tail -f filename
-F强实时监听,日志切割/重建仍可跟踪tail -F filename
-c 数字按字节查看末尾内容tail -c 100 filename
+数字从指定行开始输出至文件末尾tail +20 filename

修正:原文示例错误,tail 参数示例已统一修正。


4. less

分页浏览大日志文件,按需加载、不刷屏,适合超大日志。

bash
less filename

常用快捷键:

  • 上下方向键:逐行滚动
  • PageUp/PageDown:上下翻页
  • /关键词:文件内搜索
  • q:退出浏览

二、日志检索命令 grep

根据关键字、正则匹配筛选日志,支持过滤、上下文查看、递归搜索。

参数说明示例
-i忽略大小写匹配grep -i "error" filename
-v反向匹配,展示不包含关键字的行grep -v "debug" filename
-r递归遍历目录下所有文件搜索grep -r "超时" /var/log/
-n展示匹配内容+行号grep -n "异常" filename
-w精确匹配完整单词grep -w "user" filename
-A 数字匹配行 + 后续N行grep -A 2 "报错" filename
-B 数字匹配行 + 前面N行grep -B 2 "报错" filename
-E支持正则/多条件或匹配`grep -E "error

三、实用组合示例

1. 筛选指定日期+关键字日志

bash
grep -E "2010-01-01|2011-01-01" logfile.txt | grep "用户"

说明:匹配两个日期区间日志,二次过滤包含「用户」的内容,可根据实际日志时间格式调整。

2. 查询关键字最后一次匹配日志

bash
grep "你好" logfile.txt | tail -n 1

3. 实时监控日志并过滤错误

bash
tail -f logfile.txt | grep -i "error"

4. 查看报错前后上下文日志

bash
grep -C 3 "Exception" logfile.txt