1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# grep -E '^(root|fedora|user)' /etc/passwd | cut -d: -f1,7 root:/bin/bash user1:/bin/bash fedora:/bin/bash 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); [root@localhost ~]# egrep -o '^[_[:alpha:]]+\(\)' /etc/rc.d/init.d/functions checkpid() __pids_var_run() __pids_pidof() daemon() killproc() pidfileofproc() pidofproc() status() echo_success() echo_failure() echo_passed() echo_warning() update_boot_stage() success() failure() passed() warning() action() strstr() is_ignored_file() is_true() is_false() apply_sysctl() 3、使用echo命令输出一个绝对路径,使用grep取出其基名; [root@localhost ~]# echo "/var/www/html" | grep -E -o "[^/]+/?$" html 扩展:取出其路径名; [root@localhost ~]# echo "/var/www/html" | grep -Eo '^/.*/' /var/www/ 4、找出ifconfig命令结果中的1-255之间数字; [root@localhost ~]# ifconfig | grep -Eo '([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' 167 77 73 6 41 63 150 192 168 102 170 255 255 255 192 168 102 255 6 80 20 29 36 77 64 20 29 36 7 7 100 46 64 46 54 97 45 4 5 33 2 61 98 2 60 5 73 65 53 6 127 1 255 6 1 128 10 4 34 34 4 34 34 40 99 150 192 168 122 1 255 255 255 192 168 122 255 52 54 2 4 2 5、挑战题:写一个模式,能匹配合理的IP地址; [root@localhost ~]# ifconfig | grep -Eo "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" 192.168.102.170 255.255.255.0 192.168.102.255 127.0.0.1 255.0.0.0 192.168.122.1 255.255.255.0 192.168.122.255 6、挑战题:写一个模式,能匹配出所有的邮件地址; [root@localhost ~]# cat test01.txt | grep '.*@.*\.[[:alpha:]]\+$' 123@qq.com 234@163.com 7、查找/var目录下属主为root,且属组为mail的所有文件或目录; [root@localhost var]# find /var -user root -a -group mail -ls 67150905 4 drwxrwxr-x 2 root mail 4096 9月 5 13:31 /var/spool/mail 8、查找当前系统上没有属主或属组的文件; [root@localhost var]# find / \( -nouser -o -nogroup \) -ls 69700437 0 -rw-rw---- 1 1005 mail 0 8月 22 21:41 /var/spool/mail/mandriva 69700433 0 drwx------ 3 1005 distro 74 8月 22 21:41 /home/mandriva 102828922 0 drwxr-xr-x 4 1005 distro 37 8月 20 21:07 /home/mandriva/.mozilla 864420 0 drwxr-xr-x 2 1005 distro 6 6月 10 2014 /home/mandriva/.mozilla/extensions 39212388 0 drwxr-xr-x 2 1005 distro 6 6月 10 2014 /home/mandriva/.mozilla/plugins 69700434 4 -rw-r--r-- 1 1005 distro 18 11月 20 2015 /home/mandriva/.bash_logout 69700435 4 -rw-r--r-- 1 1005 distro 193 11月 20 2015 /home/mandriva/.bash_profile 69700436 4 -rw-r--r-- 1 1005 distro 231 11月 20 2015 /home/mandriva/.bashrc 进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录; [root@localhost var]# find / \( -nouser -o -nogroup \) -a -atime -3 -ls 69700433 0 drwx------ 3 1005 distro 74 8月 22 21:41 /home/mandriva 102828922 0 drwxr-xr-x 4 1005 distro 37 8月 20 21:07 /home/mandriva/.mozilla 864420 0 drwxr-xr-x 2 1005 distro 6 6月 10 2014 /home/mandriva/.mozilla/extensions 39212388 0 drwxr-xr-x 2 1005 distro 6 6月 10 2014 /home/mandriva/.mozilla/plugins 9、查找/etc目录下所有用户都有写权限的文件; [root@localhost var]# find /etc -perm -222 -ls 135 0 lrwxrwxrwx 1 root root 17 8月 20 21:06 /etc/mtab -> /proc/self/mounts 10、查找/etc目录下大于1M,且类型为普通文件的所有文件; [root@localhost var]# find /etc -size +1M -type f /etc/selinux/targeted/policy/policy.29 /etc/udev/hwdb.bin /etc/brltty/zh-tw.ctb 11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件; [root@localhost var]# find /etc/init.d -perm -113 /etc/init.d 12、查找/usr目录下不属于root、bin或hadoop的文件; [root@localhost var]# find /usr ! \( -user root -o -user bin -o -user hadoop \) -ls 762363 4 drwx------ 2 polkitd root 4096 8月 20 21:13 /usr/share/polkit-1/rules.d 68283493 16 -rwsr-sr-x 1 abrt abrt 15336 12月 1 2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 13、查找/etc/目录下至少有一类用户没有写权限的文件; [root@localhost var]# find /etc -not -perm -222 /etc/smartmontools /etc/smartmontools/smartd.conf /etc/smartmontools/smartd_warning.d /etc/smartmontools/smartd_warning.sh 14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件; [root@localhost etc]# find /etc -mtime -7 -a -not -user root -a -not -user hadoop /etc/abc.txt
马哥2016全新Linux+Python高端运维班第五周作业
原创
©著作权归作者所有:来自51CTO博客作者yicx01的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章