N21第五周

1.显示/boot/grub2/grub.cfg中以至少一个空白字符开头的行;

]# grep '^[[:space:]]\+' /boot/grub2/grub.cfg

2.显示/etc/rc.d/init.d/functions文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

]# grep '^#[[:space:]]\+[^[:space:]]\+' /etc/rc.d/init.d/functions

3.打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

]# netstat -tan |grep '\<LISTEN\>[[:space:]]*'

4.显示当前系统上root、fedora或user1用户的默认shell;

]# grep -E '^(root|fedora|user1)' /etc/passwd | cut -d: -f 1,7

5.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

]# grep '\<[[:alpha:]]\+\>()' /etc/rc.d/init.d/functions

6.使用echo命令输出一个绝对路径,使用grep取出其基名;

]# echo /etc/sysconfig/network-scripts/ |grep -o '[^/]\+/\?$'| cut -d '/' -f 1

7.找出ifconfig命令结果中的1-255之间数字;

ifconfig | egrep -o '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'|sort -nu

8.挑战题:写一个模式,能匹配合理的IP地址;

 \<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\. \\\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>

9.挑战题:写一个模式,能匹配出所有的邮件地址;

网上找的 暂时没看懂 /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i

11.查找/var目录下属主为root,且属组为mail的所有文件或目录;

]# find /var -user root -group mail

12.查找当前系统上没有属主或属组的文件;

]# find / -nouser -o -nogroup

   进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

]# find / -nouser -o -nogroup -atime -3

13.查找/etc目录下所有用户都有写权限的文件;

]# find /etc -perm -222

14.查找/etc目录下大于1M,且类型为普通文件的所有文件;

find /etc -size 2M -type f

15.查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

]# find /etc/init.d/ -perm -113

16.查找/usr目录下不属于root、bin或hadoop的文件

]# find /usr -not \( -user root -o  -user bin -o  -user hadoop \)

17. 查找/etc/目录下有一类用户没有写权限的文件;

]# find /etc/ -not -perm /2

18.查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

]# find /etc -mtime -7 -not \( -user root -o -user bin \)

原创文章,作者:风,如若转载,请注明出处:http://www.178linux.com/30520