## 1、`grep` 概览 `grep` 是 Linux 中最常用的文本搜索命令之一,用于在文件或命令输出中查找匹配的内容。 日常使用场景包括: - 在配置文件中查找关键字 - 在日志中定位报错信息 - 过滤命令输出 - 结合管道做批量分析 ## 2、基本格式 ```shell grep [选项] "模式" 文件名 ``` 例如: ```shell grep "error" app.log ``` 表示在 `app.log` 中查找包含 `error` 的行。 ## 3、常见选项 - `-m`:匹配指定次数后停止 - `-v`:取反,显示不匹配的行 - `-i`:忽略大小写 - `-n`:显示匹配行的行号 - `-c`:只显示匹配次数 - `-w`:只匹配完整单词 ## 4、常见示例 ### 4.1 忽略大小写搜索 ```shell grep -i "error" app.log ``` ### 4.2 显示行号 ```shell grep -n "listen" /etc/ssh/sshd_config ``` ### 4.3 统计匹配次数 ```shell grep -c "404" access.log ``` ### 4.4 显示不匹配的行 ```shell grep -v "^#" /etc/ssh/sshd_config ``` 这类用法常用于过滤掉注释行。 ### 4.5 只匹配完整单词 ```shell grep -w "root" /etc/passwd ``` ## 5、结合管道使用 `grep` 经常和其他命令组合: ```shell ps -ef | grep nginx ``` ```shell journalctl -xe | grep -i "failed" ``` ## 6、实战建议 - 配置文件查找时,经常结合 `-n` 看行号 - 查日志时,经常结合 `-i` 忽略大小写 - 过滤无效行时,经常用 `-v` - 要统计数量时,用 `-c` 比肉眼数更快 ## 7、小结 - `grep` 是最基础、最高频的文本搜索命令 - `-i`、`-n`、`-v`、`-c`、`-w` 是最常用选项 - 它非常适合配合管道过滤日志、进程、配置输出