grep 命令实战用法

2025-12-16 17:41:32 460

grep 命令实战

欢迎来到8455线路检测中心技术小课堂,每天分享一个技术小知识。在Linux运维中,grep是“文本搜索神器”——日志排查、配置筛选、内容定位都离不开它,但新手常因记不住参数而效率低下。今天我们聚焦grep命令,讲清8个高频用法及参数含义,全是必须谨记的干货,10分钟就能上手。


一. 核心参数速记(每个字母都有用)

grep基本格式:grep [参数] "搜索内容" 文件名,核心参数对应不同场景,记牢这几个就够了:

  • -i:忽略大小写匹配  示例:grep -i "Error" /var/log/syslog(可匹配Error/error/ERROR)

  • -v:反向匹配(排除目标内容)  示例:grep -v "^#" /etc/nginx/nginx.conf(过滤配置文件注释行)

  • -n:显示匹配行的行号  示例:grep -n "server_name" /etc/nginx/nginx.conf(快速定位配置位置)

  • -c:统计匹配内容的行数 示例:grep -c "Failed" /var/log/auth.log(统计SSH登录失败次数)

  • -r:递归搜索目录下所有文件  示例:grep -r "db_password" /etc/(查找配置文件中的密码信息)

  • -A3:显示匹配行及后续3行  示例:grep -A3 "error" /var/log/mysql/error.log(查看错误日志上下文)

  • -B2:显示匹配行及前面2行  示例:grep -B2 "error" /var/log/mysql/error.log(追溯错误发生前的内容)

  • -E:支持正则表达式(等价egrep)  示例:grep -E "192.168.[0-9]+" access.log(匹配日志中的内网IP段)

二. 必须谨记的3个实战技巧

  • 组合过滤去重ps -aux | grep nginx | grep -v grep  作用:排除grep自身进程干扰,纯显示nginx相关进程

  • 批量文件搜索grep "timeout" /etc/*.conf  作用:一次性搜索/etc目录下所有.conf配置文件中的timeout参数

  • 结果保存归档grep -i "error" /var/log/nginx/error.log > /tmp/nginx_error.log  作用:将错误日志导出到指定文件,便于后续分析或上报

三. 新手避坑2大提醒

  • 特殊字符需转义:搜索含.、*、?等特殊字符的内容时,用反斜杠\\转义 错误示例:grep "192.168.1.1" access.log(.会匹配任意字符)  正确示例:grep "192\\.168\\.1\\.1" access.log

  • 大目录搜索提速:递归搜索时用--exclude排除无关文件  示例:grep -r "test" --exclude="*.log" /opt/(排除日志文件,减少搜索量)

四、总结

grep命令的核心是“精准匹配”,新手无需死记所有参数,先练熟-i/-v/-n/-r这4个高频参数,再结合正则表达式拓展能力。日常运维中,日志排查和配置筛选是最常用场景,多实操几次就能形成肌肉记忆。

8455线路检测中心官网上有更详细的Linux命令手册,包含grep正则进阶、命令组合技巧等内容,大家可自行查阅。更多技术问题,可直接咨询8455线路检测中心技术支持;我们整理的“Linux命令速查表”中,也包含了grep实战案例汇总,需要的朋友随时联系获取。

/tmp/nginx_error.log\\n\\n 作用:将错误日志导出到指定文件,便于后续分析或上报"},"attribs":{"0":"*0*1+6*0+1*0*2+1r*0|2+2*0+r"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["bold","true"],"2":["inlineCode","true"]},"nextNum":3}},"type":"bullet"}},"CnkRfQGGfdlCWcctYhocFp1VnYe":{"id":"CnkRfQGGfdlCWcctYhocFp1VnYe","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"3. 新手避坑2大提醒"},"attribs":{"0":"*0+b"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"heading3"}},"FIMyfpbWqdqfx3cxw17cPqfvnzh":{"id":"FIMyfpbWqdqfx3cxw17cPqfvnzh","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"特殊字符需转义:搜索含.、*、?等特殊字符的内容时,用反斜杠\\\\转义\\n错误示例:grep \\"192.168.1.1\\" access.log(.会匹配任意字符)\\n\\n 正确示例:grep \\"192\\\\.168\\\\.1\\\\.1\\" access.log"},"attribs":{"0":"*0|1+y*0+5*0*1+t*0|2+c*0+7*0*1+w"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"bullet"}},"MKqkfpJa2dvlu8cxam4c0LOen0e":{"id":"MKqkfpJa2dvlu8cxam4c0LOen0e","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"大目录搜索提速:递归搜索时用--exclude排除无关文件\\n\\n 示例:grep -r \\"test\\" --exclude=\\"*.log\\" /opt/(排除日志文件,减少搜索量)"},"attribs":{"0":"*0|2+v*0+5*0*1+12*0+e"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"bullet"}},"TgjPfdJkQdzhc8cbPM7coxeCn0b":{"id":"TgjPfdJkQdzhc8cbPM7coxeCn0b","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"folded":false,"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"四、总结"},"attribs":{"0":"*0+4"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"heading2"}},"NqSif1JnydrKoEcskZtcyntvnHh":{"id":"NqSif1JnydrKoEcskZtcyntvnHh","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"grep命令的核心是“精准匹配”,新手无需死记所有参数,先练熟-i/-v/-n/-r这4个高频参数,再结合正则表达式拓展能力。日常运维中,日志排查和配置筛选是最常用场景,多实操几次就能形成肌肉记忆。"},"attribs":{"0":"*0+v*0*1+b*0+1l"}},"apool":{"numToAttrib":{"0":["author","974610658236027"],"1":["inlineCode","true"]},"nextNum":2}},"type":"text"}},"AtudfvBFhdrSWqcJCwucowGpnWg":{"id":"AtudfvBFhdrSWqcJCwucowGpnWg","snapshot":{"align":"","author":"974610658236027","children":[],"comments":[],"hidden":false,"locked":false,"parent_id":"Ny2kfPEPidR2J0cU9Eics5nsnsg","revisions":[],"text":{"initialAttributedTexts":{"text":{"0":"8455线路检测中心官网上有更详细的Linux命令手册,包含grep正则进阶、命令组合技巧等内容,大家可自行查阅。更多技术问题,可直接咨询8455线路检测中心技术支持;我们整理的“Linux命令速查表”中,也包含了grep实战案例汇总,需要的朋友随时联系获取。"},"attribs":{"0":"*0+38"}},"apool":{"numToAttrib":{"0":["author","974610658236027"]},"nextNum":1}},"type":"text"}}},"payloadMap":{"DM81ftqEkdOizxcLRs3c8VAknHh":{"level":1},"PZTbfw9eCdmUPIclYYyceeeqnrg":{"level":1},"NqSif1JnydrKoEcskZtcyntvnHh":{"level":1},"AtudfvBFhdrSWqcJCwucowGpnWg":{"level":1}},"extra":{"channel":"saas","pasteRandomId":"e8b829f4-61b6-48be-bb9e-f25229c6a72a","mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"selection":[{"id":514,"type":"block","recordId":"Ny2kfPEPidR2J0cU9Eics5nsnsg"},{"id":515,"type":"block","recordId":"DM81ftqEkdOizxcLRs3c8VAknHh"},{"id":516,"type":"block","recordId":"OYIvfKVX6dUB9HcnJuXcIN8pngb"},{"id":517,"type":"block","recordId":"PZTbfw9eCdmUPIclYYyceeeqnrg"},{"id":518,"type":"block","recordId":"OeUJfZ7t2dUjR4cjax9ceX9FnJd"},{"id":519,"type":"block","recordId":"DxvwfnWCUd70OwcHlAOc3siUnPh"},{"id":520,"type":"block","recordId":"OnMlfMzpbd54sYcAcmIcSXshnPe"},{"id":521,"type":"block","recordId":"ZitCfVPRqd69KzcTIUXcX32Onzf"},{"id":522,"type":"block","recordId":"GNQjfcWA1dx5T5c4HCDcSkjonsd"},{"id":523,"type":"block","recordId":"JZ1RfluBhdoz13cf3M5cDka0ndO"},{"id":524,"type":"block","recordId":"INZEftulcdMyc2cH2vnco6vlnFg"},{"id":525,"type":"block","recordId":"Ighaf275KdKfQ8csdXncJjd0nVh"},{"id":526,"type":"block","recordId":"AtV4fWnRRdw2F1coXAvcf0vjn0c"},{"id":527,"type":"block","recordId":"GKWFfwzl0dXBzRcaLpEcglx8nTh"},{"id":528,"type":"block","recordId":"BNSffxdCTdfWxUcEUpscasuIn6b"},{"id":529,"type":"block","recordId":"N9p0fq9LCdB5hJc3i8LcVjTHngc"},{"id":530,"type":"block","recordId":"CnkRfQGGfdlCWcctYhocFp1VnYe"},{"id":531,"type":"block","recordId":"FIMyfpbWqdqfx3cxw17cPqfvnzh"},{"id":532,"type":"block","recordId":"MKqkfpJa2dvlu8cxam4c0LOen0e"},{"id":533,"type":"block","recordId":"TgjPfdJkQdzhc8cbPM7coxeCn0b"},{"id":534,"type":"block","recordId":"NqSif1JnydrKoEcskZtcyntvnHh"},{"id":535,"type":"block","recordId":"AtudfvBFhdrSWqcJCwucowGpnWg"}],"pasteFlag":"73448929-ba72-471e-afcc-eddc3a00e1d4"}" data-lark-record-format="docx/record" class="lark-record-clipboard">


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图