Linux中grep命令的用法(3)(linux中grep命令的用法含义)
mhr18 2024-10-19 06:11 28 浏览 0 评论
在UNIX或Linux系统中,为了系统管理和维护的需要,操作系统管理员常常使用grep命令搜索系统配置的信息。下面通过举几个例子来演示:
首先切换到/etc ,然后使用带有 -l选项的grep命令在当前目录中的group,passwd,hosts 3个文件中搜索模式root并列出包含这一模式的文件名:
goddog@promote:~$ cd /etc
goddog@promote:/etc$ grep -l root group passwd hosts
group
passwd
由于在/etc/passwd 文件中普通用户都是在500(UID)以上,于是试着使用下面的grep命令列出在这个文件中全部有关普通用户的信息:
goddog@promote:/etc$ grep '5*' passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
……
因为我们定义的'5*'表示有0个或多个5,当然passwd文件中的所有数据行都满足这个条件,所以grep列出了这个文件中的所有数据行。这一次,我们将字符模式 '5*'改为'55*',再试试:
goddog@promote:/etc$ grep '55*' passwd
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
……
显示结果距我们的要求更近了一步,但是其中有多行数据只是包含了5但并不是500以上。其实这里可以使用带有-w选项的grep命令:
goddog@promote:/etc$ grep -w '50.' passwd
接下来,你也许想知道哪些用户默认使用的是bash.可以使用下列命令列出在passwd文件中所有以/bash结尾的数据行:
goddog@promote:/etc$ grep '/bash