在上一个命令中,我们知道可以使用cat来查看文本文件的内容,但是有的时候我们不是需要查看全部内容,而是需要查看包含某些信息的一行,如在渗透中我们需要查看某些配置文件中是否包含一些敏感信息,如密码信息,数据库连接信息等,就可以通过使用grep来进行快速查看我们需要查看的内容了!
使用语法如下:
1
|
grep
查找内容 要查找内容的文件
|
如果查找内容中包含空格,那么需要加单引号',如:grep 'test hh' filenema,另外可以在多个文件中进行查找,直接在后面继续添加文件名即可!
1
2
3
|
root@kali:~
/linuxcmd
# grep root /etc/passwd
root:x:0:0:root:
/root
:
/bin/bash
root@kali:~
/linuxcmd
#
|
1
2
3
4
|
root@kali:~
/linuxcmd
# grep root /etc/passwd /etc/shadow
/etc/passwd
:root:x:0:0:root:
/root
:
/bin/bash
/etc/shadow
:root:$6$8uR2a64J$y2Oc5C6QsTRtJ1tpfpJKDIAfXzSM8rJ0IizfM32Mn.ac.UBUGgtq1HT2kgvnx4LFGukbj
/poLJzg32VjpTbJS
.:17103:0:99999:7:::
root@kali:~
/linuxcmd
#
|
由于linux对大小写是敏感的,而grep也是区分大小写的,因此如果想不区分大小写,就需要加上-i这个参数!
1
2
3
4
5
6
|
root@kali:~
/eth10/eth10
# grep hello test.txt
hello eth10!
root@kali:~
/eth10/eth10
# grep -i hello test.txt
hello eth10!
HELLO ETH10!
root@kali:~
/eth10/eth10
#
|
grep常用参数主要有以下几个:
-
-i 不区分大小写
-
-c 统计包含匹配的数据行
-
-n 输出行号
-
-v 反向匹配
1
2
3
4
5
6
7
|
root@kali:~
/eth10/eth10
# grep -n hello test.txt
1:hello eth10!
root@kali:~
/eth10/eth10
# grep -c hello test.txt
1
root@kali:~
/eth10/eth10
# grep -v hello test.txt
HELLO ETH10!
root@kali:~
/eth10/eth10
#
|
本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1955922