1.顯示當前系統上root,fedora或user1用戶的默認shell
[root@study ~]# cat /etc/passwd|grep -E "^(root|fedora|user1)"|cut -d: -f7 /bin/bash /bin/bash /bin/bash
2.找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();
[root@study ~]# grep -E -o "\<[[:alpha:]]+\>\(\)" /etc/rc.d/init.d/functions checkpid() daemon() killproc() pidfileofproc()
3.使用echo命令輸出一個絕對路徑,使用grep取出其基名
[root@study ~]# echo "/etc/sysconfig/network-scripts/"|grep -o -E '[^/]+/?$'|cut -d/ -f1 network-scripts
擴展:取出其路徑名
[root@study ~]# echo "/etc/sysconfig/network-scripts/"|grep -E '^/.*/$' /etc/sysconfig/network-scripts/
4.找出ifconfig命令結果中的1-255之間的數字;
[root@study ~]# ifconfig|grep -o -E '[1-9]|[1-9][0-9]|1[0-9]{1,2}|2[0-4][0-9]|25[0-5]' 167 77 73 6 ……
5.寫出一個模式,能匹配合理IP地址
[root@study ~]# ifconfig|grep -o -E '([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])' 192.168.235.128 192.168.235.255
6.寫一個模式,匹配郵件地址
[root@study ~]# grep -E -o "\<[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\>" mailadd 141215@qq.com 2522nfsnf@163.com
7.查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄
[root@study var]# find /var/ -user root -group mail /var/spool/mail
8.查找當前系統上沒有屬主或屬組的文件,進一步:查找當前系統上沒有屬主或屬組,且最近三天曾被訪問過的文件或目錄
[root@study var]# find / -nouser -o -nogroup -a -atime 3
9.查找/etc目錄下所有用戶都有寫權限的文件
[root@study var]# find /etc/ -perm /020
10.查找/etc目錄下大于1M,且類型為普通文件的所有文件
[root@study var]# find /etc/ -size +1M -type f /etc/udev/hwdb.bin /etc/selinux/targeted/policy/policy.29
12.查找/usr目錄下不屬于root,bin或hadoop的文件
[root@study ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) /usr/share/polkit-1/rules.d
13.查找/etc目錄下至少有一類用戶沒有寫權限的文件
[root@study ~]# find /etc/ -not -perm /222
14.查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件
[root@study ~]# fing /etc/ -ctime 7 -a -not \( -user root -o -user hadoop \)
原創文章,作者:N24_小康,如若轉載,請注明出處:http://www.www58058.com/61032
整體完成的不錯,不過可以對grep做一下知識的總結,正則還是需要多練習掌握的。