1显示当前系统上root,fedora或user1用户的默认shell
egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7
2找出/etc/rc.d/init.d/functions文件中某个单词后面跟一组小括号的行,形如hello();
grep -o ".\+()" /etc/rc.d/init.d/functions egrep -o ".+\(\)" /etc/rc.d/init.d/functions
3使用echo命令输出绝对路径,使用grep取出其基名 扩展:取出其路径名
echo $(pwd)|grep -o "[^/]\+/\?$" echo $(pwd)|grep -o "[[:alnum:]]\+.*/"
4找出ifconfig命令结果中的1-255之间数字
ifconfig| grep -E "\<([1-9][0-9]?|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])\>"
5挑战题:写一个模式,能匹配合理的ip地址
ifconfig| grep -oE "(\<([1-9][0-9]?|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])\>\.){2}([1-9][0-9]?|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])"
6写一个模式,能匹配所有的邮件地址
egrep -o "[[:alnum:]]+@[[:alnum:]]+.*\.[[:alnum:]]+"
7查找/var目录下的属主为root,且属组为mail的所有文件或目录
find /var -user root -group mail -ls
8查找当前系统上没有属主或属组的文件,查找当前目录下没有属主或属组,且最近3天内曾被访问过的文件或目录
find / (-nouser -o -nogroup) -ls 注意:为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义 修正:find / \( -nouser -o -nogroup \) -ls find / \( -nouser -o -nogroup \) -atime -3 -ls
9查找/etc目录下所有用户都有写权限的文件
find /etc -perm -222 -ls
10查找/etc目录下大于1M,且类型为普通文件的所有文件
find /etc -size +1M -type f -ls
11查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件
find /etc/init.d/ -perm -113 -ls
12查找/usr目录下不属于root,bin或hadoop的文件
find /usr -not -user root -a -not -user bin -a -not -user hadoop find /usr -not \( -user root -o -user bin -o -user hadoop \)
13查找/etc/目录下至少有一类用户没有写权限的文件
find /etc -not -perm -222 -ls
14查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件
find /etc -atime -7 -a \( -not -user root -o -not -user hadoop \) find /etc -atime -7 -a -not \( -user root -a -user hadoop \)
原创文章,作者:N24-超,如若转载,请注明出处:http://www.178linux.com/63381
评论列表(1条)
赞,第8小题注意下,其它都不错,继续加油~