一、概述与选项

grep选项 说明
-n line-number 显示行号
-v 排除,取反
-i ignore-case 过滤的时候忽略大小写

二、基础案例

2.1 基本用法

1、在/etc/passwd中过滤出包含root的行

#命令格式
grep '你要找的内容' /etc/passwd 
#具体命令
grep 'root'  /etc/passwd

Aspose.Words.86f747ce-317f-40b6-b534-7c7433f45440.006

2、grep 也可以对接管道

#过滤出叫crond的进程
ps -ef |grep 'crond'

3、其他过滤案例:在/var/log/secure中过滤出包含Failed password的行 在/var/log/secure中过滤出包含Failed password的行并统计次数

grep "Failed password" /var/log/secure | wc -l

4、grep 也可以对接管道,过滤出叫crond的进程

ps -ef | grep 'crond'

2.2 显示内容和行号

案例01 在/etc/passwd中过滤出包含root的行且显示行号
grep -n 'root' /etc/passwd

Aspose.Words.86f747ce-317f-40b6-b534-7c7433f45440.012

2.3 过滤的时候不区分大小写

过滤的时候不清楚内容是大写还是小写

案例02 过滤出secure文件中failed password的行不区分大小
grep -i 'failed password'  /var/log/secure

Aspose.Words.86f747ce-317f-40b6-b534-7c7433f45440.015

说明:如果没有Failed password使用ssh root@10.0.0.200 进行连接测试,输错密码即可.

2.4 排除

查找的时候,不知道具体要什么,但是你知道你不想要什么? 这时候需要使用grep命令的排除选项,过滤出不包含xxx内容的行

案例03 排除/etc/passwd中的nologin的行 
grep -v  nologin' /etc/passwd