根据关键字搜索日志内容,常用的Linux命令
在 Linux 中,根据关键字搜索日志内容是运维和开发的常见需求。以下是常用的命令及场景示例:
1. grep
基础搜索
(1) 简单关键字匹配
# 在文件中搜索包含 "error" 的行 grep "error" /var/log/nginx/error.log# 忽略大小写(-i) grep -i "warning" /var/log/syslog# 显示匹配行的行号(-n) grep -n "timeout" app.log
(2) 多关键字搜索
# 同时匹配 "error" 或 "critical"(-E 启用正则) grep -E "error|critical" /var/log/app.log# 匹配同时包含 "user123" 和 "login" 的行(需顺序出现) grep "user123.*login" auth.log
2. 上下文显示
# 显示匹配行及其后5行(-A) grep -A 5 "panic" system.log# 显示匹配行及其前3行(-B) grep -B 3 "connection refused" network.log# 显示匹配行前后各2行(-C) grep -C 2 "oom killer" kern.log
3. 递归搜索目录
# 在 /var/log 目录下所有文件中搜索 "segmentation fault" grep -r "segmentation fault" /var/log# 仅显示文件名和匹配内容(-H) grep -rH "404" /var/log/nginx/
4. 反向匹配(排除关键字)
# 排除包含 "debug" 的行 grep -v "debug" app.log# 排除空行和注释行(多个条件) grep -v -E "^$|^#" config.conf
5. 结合 find
搜索多个文件
# 查找所有 .log 文件并搜索 "out of memory" find /var/log -name "*.log" -exec grep "out of memory" {} +# 最近7天修改过的日志中搜索 find /opt/app/logs -name "*.log" -mtime -7 -exec grep "timeout" {} \;
6. 实时监控日志(tail
+ grep
)
# 实时追踪日志并过滤关键字 tail -f /var/log/nginx/access.log | grep "POST /login"# 高亮显示匹配内容(需要 `grep --color`) tail -f app.log | grep --color -E "error|warning"
7. 使用 awk
高级过滤
# 提取日志中特定列(如第4列状态码为500的行) awk '$9 == 500 {print}' /var/log/nginx/access.log# 结合时间范围过滤(假设时间在第4列) awk '/2023-10-25 14:/, /2023-10-25 15:/' /var/log/app.log
8. 使用 sed
处理日志
# 提取两个关键字之间的内容 sed -n '/START/,/END/p' transaction.log# 替换日志中的敏感信息 sed 's/密码:.*/密码:******/g' auth.log
9. 压缩日志搜索
# 直接搜索 .gz 压缩文件 zgrep "502 Bad Gateway" /var/log/nginx/access.log.1.gz# 搜索多个压缩文件 zcat /var/log/nginx/*.gz | grep "404"
10. 统计匹配结果
# 统计匹配行数(-c) grep -c "GET /api" access.log# 统计每个匹配关键字的出现次数 grep -o "exception type:[A-Za-z]*" app.log | sort | uniq -c
11. 高亮显示(需终端支持)
# 使用 `grep` 自带高亮 grep --color=auto "ERROR" app.log# 使用 `ack` 工具(更友好的高亮) ack "WARNING" /var/log/*.log
12. 组合管道操作
# 复杂示例:搜索错误,排除测试用户,统计前10 grep "ERROR" app.log | grep -v "testuser" | cut -d' ' -f4- | sort | uniq -c | sort -nr | head -10
总结表格
场景 | 命令示例 |
---|---|
简单关键字搜索 | grep "error" file.log |
实时监控日志 | tail -f logfile | grep "keyword" |
多文件递归搜索 | grep -r "panic" /var/log |
排除干扰项 | grep -v "debug" app.log |
压缩文件搜索 | zgrep "404" access.log.gz |
统计错误类型 | grep -o "Error:\w*" app.log | sort | uniq -c |
时间段过滤 | sed -n '/2023-10-25 14:00:/,/2023-10-25 15:00:/p' system.log |
注意事项
-
权限问题:日志文件通常需要
sudo
权限 -
性能优化:大文件搜索时尽量缩小范围(如先用
find
按时间过滤) -
正则表达式:复杂匹配建议使用
-E
启用扩展正则 -
日志轮转:注意搜索范围是否包含历史日志(如
*.log
,*.gz
)
相关文章:
根据关键字搜索日志内容,常用的Linux命令
在 Linux 中,根据关键字搜索日志内容是运维和开发的常见需求。以下是常用的命令及场景示例: 1. grep 基础搜索 (1) 简单关键字匹配 # 在文件中搜索包含 "error" 的行 grep "error" /var/log/nginx/error.log# 忽略大小写ÿ…...
数据结构(六)——红黑树及模拟实现
目录 前言 红黑树的概念及性质 红黑树的效率 红黑树的结构 红黑树的插入 变色不旋转 单旋变色 双旋变色 插入代码如下所示: 红黑树的查找 红黑树的验证 红黑树代码如下所示: 小结 前言 在前面的文章我们介绍了AVL这一棵完全二叉搜索树&…...
【Linux】基础 IO(文件描述符、重定向、缓冲区)
Linux 1.理解文件2.C文件接口1.打开 写文件2.读文件 简单实现cat命令3.输出信息到显示器的方式4.stdin、stdout、stderr5.打开文件的方式 3.系统接口 IO1.传递标志位2.open、close3.write、read 4.文件描述符1.是什么?2.分配规则3.重定向原理4.通过dup2系统调用重…...
记录一下远程调试 备忘
在进行远程调试时,目标主机不需要安装完整的编程环境(舍去重复安装)。可以使用Visual Studio的远程调试功能,或者使用gdb和gdbserver进行远程调试。 Visual Studio远程调试 复制远程调试器文件夹:将Visual Studio安装目录下的remot…...
libevent服务器附带qt界面开发(附带源码)
本章是入门章节,讲解如何实现一个附带界面的服务器,后续会完善与优化 使用qt编译libevent源码演示视频qt的一些知识 1.主要功能有登录界面 2.基于libevent实现的服务器的业务功能 使用qt编译libevent 下载这个,其他版本也可以 主要是github上…...
MyISAM索引方案
在InnoDB中索引即数据,也就是聚簇索引的B树叶子节点已经包含了所有完整的用户记录,MyISAM的索引方案虽然也是树形结构,但是将索引和数据分开存储 将表中的记录按记录的插入顺序单独存储在一个文件中【数据文件】,这个文件不划分数…...
Windows 图形显示驱动开发-WDDM 1.2功能—WDDM 1.2 中的 Direct3D 功能和要求
一、架构演进与驱动模型 1.1 WDDM驱动模型的革命性升级 Windows 8引入的WDDM 1.2驱动模型在以下方面实现突破: 内存管理:采用统一虚拟地址空间(UVA)架构,使CPU和GPU可共享相同的指针地址空间。具体实现通过DXGK_DRI…...
深度解析 Vue 项目 Webpack 分包与合包 一文读懂
深度解析 Vue 项目 Webpack 分包与合包 一文读懂 文章目录 深度解析 Vue 项目 Webpack 分包与合包 一文读懂一、Webpack 打包机制深度解析1.1 模块化系统的本质1.2 Webpack 构建流程解析1.3 默认打包的问题分析 二、分包策略深度配置2.1 SplitChunksPlugin 核心配置2.2 精细化分…...
【ROS】map_server 地图的保存和加载
【ROS】map_server 地图的保存和加载 前言地图的保存地图的加载 前言 在 ROS 中,想要实现导航功能,首先需要一张已建好的地图。导航系统依赖这张地图进行路径规划、定位和障碍物避让等操作。本文将讲解在使用 gmapping 或 hector_mapping 建图后&#x…...
【计网】SSL/TLS核心原理
序言 在HTTP协议中,信息是明文传输的,因此为了通信安全就有了HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)协议。HTTPS也是一种超文本传送协议,在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务端的…...
sqli-labs靶场 less 11
文章目录 sqli-labs靶场less 11 POS联合注入 sqli-labs靶场 每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。 sql注入的基本步骤 注入点注入类型 字符型:判断闭合方式 (‘、"、’、“”&…...
陕化之光(原创)
当城市在和周公化合 陕化的工装已与朝霞发生反应 工人先锋号已然吹响 陕化工人游走在工作的床层 钢铁森林间穿梭的身影 是沉默的催化剂 让冰冷的方程式 绽放出最活跃的分子温度 扳手与阀门对话时 塔林正在记录 关于电流与压力的学习笔记 每一次精确的调控 都是舞台上…...
【刷题2025】高级数据结构(并查集+优先队列+图论)
1.并查集 (1)基础理论 并查集是一种树形的数据结构,用于处理一些不相交集合的 合并 及 查询 问题。比如,可以用并查集判断一个森林中有几棵树、某个节点是否属于某棵树。 并查集由一个整形数组 pre[] 和两个函数 find() 、 join() 构成。 数组 pre[] 记录了每个点的前驱…...
数据库性能优化(sql优化)_分布式优化思路01_yxy
数据库性能优化_分布式优化思路01 1 分布式数据库的独特挑战2 分布式新增操作符介绍2.1 数据交换操作符(ESEND/ERECV):2.2 数据迭代操作符GI:3 核心优化策略(一)_分区裁剪优化3.1 普通分区裁剪3.2 动态分区裁剪1 分布式数据库的独特挑战 在分布式数据库系统中,核心为数据被…...
云服务器和物理服务器有什么区别
云服务器与物理服务器的核心区别在于资源分配方式、性能稳定性、成本结构、运维管理及 适用场景。以下是具体分析: 一、资源分配与架构差异 云服务器:基于虚拟化技术,将物理服务器集群分割为多个虚拟实例,资源由多个用户 共享,可根据需求弹性调整配置…...
FPGA-DDS技术的波形发生器
1.实验目的 1.1掌握直接数字频率合成(DDS)的基本原理及其实现方法。 1.2在DE2-115 FPGA开发板上设计一个可调频率的正弦波和方波发生器,频率范围10Hz~5MHz,最小分辨率小于1kHz。 1.3使用Quartus II进行仿真,并通过S…...
晶晨线刷工具下载及易错点说明:Key文件配置错误/mac剩余数为0解决方法
晶晨线刷工具下载及易错点说明:Key文件配置错误/mac剩余数为0解决方法 各种版本晶晨线刷工具下载: 晶晨线刷工具易出错点故障解决方法: 1、晶晨线刷工具加载固件的时候提示mac红字且剩余数为0的解决办法 很多同学可能会与遇到加…...
idea如何使用git
在 IntelliJ IDEA 中使用 Git 的详细步骤如下,分为配置、基础操作和高级功能,适合新手快速上手: 一、配置 Git 安装 Git 下载并安装 Git,安装时勾选“Add to PATH”。验证安装:终端输入 git --version 显示版本…...
python——学生管理系统
学生管理系统主要分为以下三个大类: 一、用户类(User): 属性:用户名(username)、密码(password) 功能:注册(register)、登录&#…...
快速幂+公共父节点
# 快速幂 求:23的10000次幂,那么就是求23的5000次幂,因为2350*235023^100;所以可以遍历log(n)次 int res1; int tmp23; for(int i1;i<logn;i) {tmp*tmp; }显然,我们无法通过logn计算次数; 比如是非偶数的怎么计算呢…...
【差分隐私相关概念】瑞丽差分隐私(RDP)命题4
命题4的证明详解(分情况讨论) 背景与设定 机制: f : D → R f: \mathcal{D} \to \mathcal{R} f:D→R 是由 n n n 个 ϵ \epsilon ϵ-差分隐私机制自适应组合而成。相邻输入: D D D 和 D ′ D D′ 是相邻数据集。目标…...
Vue 人看 React useRef:它不只是替代 ref
如果你是从 Vue 转到 React 的开发者,初见 useRef 可能会想:这不就是 React 版的 ref 吗?但真相是 —— 它能做的,比你想象得多得多。 👀 Vue 人初见 useRef 在 Vue 中,ref 是我们访问 DOM 或响应式数据的…...
C++第三方库【JSON】nlohman/json
文章目录 优势使用API从文件中读取json从json文本创建json对象直接创建并操作json对象字符串 <> json对象文件流 <> json对象从迭代器读取像使用STL一样的访问STL容器转化为 json数组STL容器 转 json对象自定义类型转化为 json对象 限制 优势 直观的语法ÿ…...
从源码到实战:深度解析`rsync`增量同步机制与高级应用
从源码到实战:深度解析rsync增量同步机制与高级应用 #mermaid-svg-C1ZMwvhtq4iP4E8m {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-C1ZMwvhtq4iP4E8m .error-icon{fill:#552222;}#mermaid-svg-C1ZMwvht…...
数据库表设计五层分类系统表设计
文章目录 数据库表设计五层分类系统表设计代码思路详解类概述核心方法详解1. processString(String input) 方法2. createNo(String input, boolean peerNode) 方法3. isParent(String parentNo, String sonNo) 方法 编号系统设计使用场景推测代码特点可能的使用示例 NoProcess…...
Centos/RedHat 7.x服务器挂载ISCSI存储示例(无多路径非LVM)
客户让帮忙挂载个ISCSI存储,大概结构如下图所示: ISCSI存储为一台安装了truenas的X86服务器,提供存储服务的IP地址为10.16.0.1 服务器的ETH1网卡配置与10.16.0.1同段网络。 为了给客户做个简单培训,整理了一下操作步骤。下面是配…...
【android bluetooth 协议分析 21】【ble 介绍 2】【什么是IRK,是如何生成和传递的】
1. 什么是 IRK? IRK,全称 Identity Resolving Key(身份解析密钥),是 BLE 设备用于生成和解析 Resolvable Private Address(RPA) 的密钥。 2. IRK 的生成和传递过程 IRK 是在 BLE 配对…...
4.14-4.15学习总结 IO流:缓冲流+转换流+序列化流+打印流+压缩流+Commons—io工具包+Hutool工具包
图片加密操作: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class test {public static void main(String[] args) throws IOException {FileInputStream fisnull;FileOutputStream fosnull;try{fisnew…...
Linux入门学习笔记
一、文件路径相关 相对路径与绝对路径 相对路径:是从当前工作目录开始表示文件或目录位置的路径。例如,当前在 /home/user 目录下,若要访问 user 目录下 test 文件夹中的 file.txt 文件,相对路径就是 test/file.txt 。它依赖于当…...
Redis适用场景
Redis适用场景 一、加速缓存二、会话管理三、排行榜和计数器四、消息队列五、实时分析六、分布式锁七、地理位置数据八、限流九、数据共享十、签到 一、加速缓存 Redis最常见的应用之一是作为缓存层,用于存储频繁访问的数据,从而减轻数据库的负载。 通过…...
# WPS打开新文档,“工具”菜单下是空白
WPS打开新文档,“工具”菜单下是空白 在 WPS 中打开新文档后 “工具” 菜单下空白,可能由多种原因导致,如下图: 下面分析并给出对应的解决办法: 一、 功能区显示设置问题 1、原因: WPS 的功能区显示可能…...
【软考-架构】13.3、架构复用-DSSA-ABSD
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 1、软件架构复用2、特定领域软件架构DSSADSSA的三个基本活动参与DSSA的四种角色人员建立DSSA的过程三层次模型 考试真题第一题第二题 3、基于架构的软件开发ABSD的软件开发…...
K8S_ResourceQuota与LimitRange的作用
ResourceQuota 作用详解 资源总量控制:ResourceQuota能对命名空间内的资源使用总量进行限制。在一个Kubernetes集群中,存在多个命名空间,每个命名空间可看作一个独立的工作单元。通过设置ResourceQuota,可以防止某个命名空间过度…...
T101D加固平板电脑:无人机地面站的高效智能控制核心
随着无人机技术在应急救援、农业监测、军事侦察等领域的广泛应用,对地面控制设备的要求也日益提高。鲁成伟业推出的T101D加固平板电脑凭借其高性能、强防护和专业化设计,成为无人机地面站的核心控制终端,为复杂环境下的作业提供了可靠支持。 …...
LLM中的N-Gram、TF-IDF和Word embedding
文章目录 1. N-Gram和TF-IDF:通俗易懂的解析1.1 N-Gram:让AI学会"猜词"的技术1.1.1 基本概念1.1.2 工作原理1.1.3 常见类型1.1.4 应用场景1.1.5 优缺点 1.2 TF-IDF:衡量词语重要性的尺子1.2.1 基本概念1.2.2 计算公式1.2.3 为什么需…...
【基于Servlet技术处理表单】
文章目录 一、实验背景与目的二、实验设计与实现思路1. 功能架构2. 核心代码实现3. 测试用例 总结 一、实验背景与目的 本次实验旨在深入理解Servlet工作原理,掌握JSP与Servlet的协同开发,实现前端表单与后端数据处理的交互。具体目标包括:设…...
【差分隐私相关概念】瑞丽差分隐私(RDP)-瑞丽散度约束了贝叶斯因子后验变化
分步解释和答案: 在Rnyi差分隐私(RDP)框架中,通过贝叶斯因子和Rnyi散度的关系可以推导出关于后验变化的概率保证。以下是关键步骤的详细解释: 1. 贝叶斯因子的定义与分解 设相邻数据集 D D D 和 D ′ D D′&#x…...
Oracle查询大表的全部数据
2000w的大表 表结构如下,其中id是索引 查询处理慢的写法 List<String> queryLoidForPage(Integer startNum,Integer endNum){try {Connection oracleConnection initBean.oracleConnection;Statement stmt oracleConnection.createStatement();// 4.执行查…...
linux 内核 static-key机制分析
1、static key是什么 Linux内核的 Static Keys机制是一种高效的条件分支优化技术,主要用于在运行时动态启用或禁用特定代码路径,同时避免常规条件判断(如 if 语句)的性能开销。它通过结合编译时优化和运行时代码修补(如 Jump Label 技术)实现近乎零成本的开关切换,广泛应用…...
【Java学习】Knife4j使用流程
手动添加依赖,并刷新Maven <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.3.0</version> </dependency>在配置文件application.…...
Java 基本操作快速入门:理解与实践
在软件开发的世界里,Java 作为一种广泛使用的编程语言,已经成为构建企业级应用、移动应用甚至大型系统的主力军。对于任何一位初学者来说,理解 Java 的基本操作是学习编程的第一步。从变量声明到控制流的结构,每一个基础知识点都是…...
jetson orin nano 开发板conda 的 base 环境在 shell 启动时自动激活
使用MobaXterm_Personal_23.0.exe 连接jetson开发板时默认是不进入base环境的 1.输入此命令nano ~/.bashrc看到图1后把conda activate 你的环境名 放到图中标记位置 然后保存退出: Ctrl O 回车保存 Ctrl X 退出编辑器 输入此命令后,source ~/.bas…...
【高中数学/指数/对数】同构六君子之 x/e^x/lnx组合曲线
yx*e^x ye^x/x yx/e^x yx*lnx ylnx/x yx/lnx END...
Golang|在线排查协程泄漏
根据我们的代码,前5毫秒内,每隔1毫秒就会来一个请求,5毫秒之后由于前面的协程执行完,后面又会来新的协程,所以协程数目会保持稳定但是代码一运行,协程数量一直增长,发生了协程泄漏 我们可以list…...
健康养生指南
在快节奏的现代生活中,健康养生愈发重要,它是我们享受美好生活的基石。 饮食是养生的关键一环。秉持均衡原则,每日保证谷类、蔬果、优质蛋白等各类食物合理摄入。多吃富含膳食纤维的粗粮,像燕麦、糙米,可促进肠道蠕…...
实验二 两个多位十进制数相加实验
一、实验目的 1.掌握汇编子程序的编写方法。 2.掌握循环程序的设计方法。 二、实验内容 将键盘输入的两个5位十进制数相加,在屏幕上显示相加的结果。 三、实验要求 1.显示格式:被加数加数相加的结…...
多模态大模型MLLM基础训练范式 Pre-train + Instruction FineTuning
多模态大模型Pre-train 为了在图文嵌入空间中更好地对齐视觉和文本信息。为此,使用图像-文本对(image-caption style data),表示为 ( X , Y a ) (\mathbf{X}, Y_a) (X,Ya),其中: X \mathbf{X} X&#x…...
2025.4.15六年之约day11
六年之约已经断更好几个月了,当初六年之约是当做日记来写的,然后被同事刷到了,被谈及的时候挺尴尬的,毕竟里面记录的是我的所思所想。在互联网下,是不适合发布日记的,但我又爱记录所思所想所做。 不知道距…...
Rust学习之实现命令行小工具minigrep(二)
Rust学习之实现命令行小工具minigrep(二) Rust学习之实现命令行小工具minigrep(一) 前言 继续记录一下Rust 语言学习过程,上次写了一个命令行查找字符串的小项目minigrep。学习完了闭包(Closures&#x…...
Access Token 和 Refresh Token 的双令牌机制,维持登陆状态
目录 1. 双令牌机制2. 工作流程3. 客户端实现4. 服务器端实现5. 注意事项拓展:Token在客户端安全存储的几种方式 为了实现客户端在 JWT Token 过期后自动更新 Token,通常会采用 Access Token 和 Refresh Token 的双令牌机制。以下是实现自动更新 Token 的…...