CentOS 文本搜索grep
grep 用于在文本中执行关键词搜索,
用法: grep [选项]... PATTERN [FILE]...
[root@bigdata-senior01 ~]# grep "ftp" /etc/passwd ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin
关键参数:
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
1、搜索nologin用户,显示行号
[root@bigdata-senior01 ~]# cat /etc/passwd | grep nologin -n 2:bin:x:1:1:bin:/bin:/sbin/nologin 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin 4:adm:x:3:4:adm:/var/adm:/sbin/nologin 5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10:operator:x:11:0:operator:/root:/sbin/nologin 11:games:x:12:100:games:/usr/games:/sbin/nologin 12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 13:nobody:x:99:99:Nobody:/:/sbin/nologin 14:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin 15:dbus:x:81:81:System message bus:/:/sbin/nologin 16:polkitd:x:999:997:User for polkitd:/:/sbin/nologin 17:postfix:x:89:89::/var/spool/postfix:/sbin/nologin 18:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 20:xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin
2、搜索可以登录的用户,即非nologin,用参数-v反选上面的搜索
[root@bigdata-senior01 ~]# cat /etc/passwd | grep nologin -v -n
1:root:x:0:0:root:/root:/bin/bash
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
19:xu.dm:x:1000:1000::/home/xu.dm:/bin/bash
21:tiger:x:1002:1002::/home/tiger:/bin/bash
22:hadoop:x:1003:1003::/home/hadoop:/bin/bash
23:es:x:1004:1004::/home/es:/bin/bash
3、或操作,参数-E,(E参数实际是正则表达式)
找出root或xu.dm
[root@bigdata-senior01 ~]# cat /etc/passwd | grep -E "root|xu.dm" root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin xu.dm:x:1000:1000::/home/xu.dm:/bin/bash xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin
4、与操作,实际是连接两次grep
找到包含xu.dm和ftp的行
[root@bigdata-senior01 ~]# cat /etc/passwd | grep xu.dm | grep ftp xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin