1、顯示當前系統上root、fedora或user1用戶的默認shell
[root@server01 ~]# cat /etc/passwd | grep –color=auto -E "^root|fedora|user1" | cut -d : -f 1,7
2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如hello()
[root@server01 ~]# cat /etc/rc.d/init.d/functions | grep –color=auto -E "\<[a-z]*\>\(\)"
3、使用echo命令輸出一個絕對路徑,使用grep取出其基名
方法一:
(1)[root@server01 ~]# echo "/var/log/messages" | grep -E -o "[a-z]*$|[a-z0-9]*[^/][a-z0-9]*$"
(2)[root@server01 ~]# echo "/etc/sysconfig/network-scripts/ifcfg-eth0" | grep -E -o "[a-z]*$|[a-z0-9]*[^/][a-z0-9]*$"
(3)[root@server01 ~]# echo "/var/log/anaconda.log" | grep -E -o "[a-z]*$|[a-z0-9]*[^/][a-z0-9]*$"
取路徑名(自行練習的):
(1)[root@server01 Packages]# echo "/var/lib/postfix/master.lock" | grep -E -o "^[/].*[/]"
(2)[root@server01 ~]# echo "/etc/sysconfig/network-scripts/ifcfg-eth0" | grep -E -o "^[/].*[/]"
4、找出ifconfig命令結果中的1-255之間的數字
[root@bogon ~]# ifconfig | grep –color=auto -E -o "[1-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-5]{3}"
5、挑戰題:寫一個模式,能匹配合理的IP地址
[root@bogon ~]# ifconfig | grep –color=auto -E -o "\<([1-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-1][0-9]|22[0-3])[\.](([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-5]{2})[\.]){2}([1-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-5][0-4])\>"
6、挑戰題:寫一個模式,能匹配所有的郵件地址
[root@server01 ~]# cat mail.txt | grep -o –color=auto -E "\<[^0-9][[:alnum:]]{3,20}[@][[:alnum:]].*[.]([a-z]{3}[.][a-z]{2}|[a-z]{3})\>"
7、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄
[root@server01 ~]# find /var -user root -a -group mail -ls
8、查找當前系統上沒有屬主或屬組的文件
[root@server01 ~]# find / -nouser -o -nogroup -ls
進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄
[root@server01 ~]# find / -nouser -a -nogroup -a -atime -3 -ls
9、查找/etc目錄下所有用戶都有寫權限的文件
[root@server01 ~]# find /etc/ -perm -222 -ls
10、查找/etc目錄下大于1M,且類型為普通文件的所有文件
[root@server01 ~]# find /etc/ -type f -size +1M -exec ls -lh {} \;
11、查找/etc/init.d/目錄下,所有用戶都有執行權限,且其他用戶有寫權限的文件
[root@server01 ~]# find /etc/init.d/ -perm -111 -a -perm -002 -ls
12、查找/usr目錄下不屬于root、bin或hadoop的文件
方法一:[root@server01 usr]# find /usr -not -user root -a -not -user bin -a -not -user hadoop -ls
方法二:[root@server01 usr]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
13、查找/etc目錄下至少有一類用戶沒有寫權限的文件
[root@server01 usr]# find /etc/ -not -perm -222 -ls
14、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件
[root@server01 usr]# find /etc/ -mtime -7 -a -not \( -user root -a -user hadoop \) -exec stat {} \; | grep "Modify:"
原創文章,作者:Tornado,如若轉載,請注明出處:http://www.www58058.com/54183
下次操作,記得將命令執行的結果或影響的行列出就更好了!