grep
grep作用是在文件中提取和匹配符合条件的字符串行。
grep [选项] "搜索内容" 文件名
选项:
-i 忽略大小写
-n 输出行号
-v 反向查找
--color=auto 搜索出的关键字用颜色显示
和find区别
- find:用于搜索符合条件的文件名,如果需要模糊查询,可以使用通配符,-regex选项也支持正则(equals)
- grep:用于在文件中搜索符合条件的字符串,如果需要模糊查询,可以使用正则(contains)
通配符
用于匹配文件名,完全匹配
- ? 匹配一个任意字符
- * 匹配0个或者任意多个字符
- [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
- [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
- [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符
正则表达式
用于匹配字符串
- ? 匹配前一个字符重复0次,或一次
- * 匹配前一个字符重复0次,或任意多次(只写一个字符加星号,是没有意义的)
- [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
- [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
- [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符
- ^ 匹配行首
- $ 匹配行尾
管道符
命令格式:
命令1 | 命令2
表示 命令1的正确输出作为命令2的操作对象。有点像find命令中的-exec选项
管道符是文本流,命名1的运行结果保存在临时文件中。(简单理解)
举例:分屏显示/etc下面的文件
ll /etc | more
显示/etc/下面所有包含yum的文件
ll /etc | grep yum
显示具体网络连接数量
netstat -an | grep -i established | wc -l