1、顯示當前系統上root、fedora或user1用戶的默認shell;
[root@bogon ~]# grep -E "^(root|fedora|user1)" /etc/passwd | cut -d: -f1,7root:/bin/bash
2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();
[root@bogon ~]# grep -E "\<[[:alnum:]]+\(\)" /etc/init.d/functions
3、使用echo命令輸出一個絕對路徑,使用grep取出其基名
[root@bogon ~]# echo /etc/answer/test/ | grep -E -o "[^/]+/?$"
[root@bogon ~]# echo /etc/answer/test/ | grep -o "[^/]\+\/\?$"
擴展:取出其路徑名
[root@bogon ~]# echo /etc/answer/test/ | sed 's@[^/]\+/\?$@@'/etc/answer/
4、找出ifconfig命令結果中的1-255之間數字;
[root@bogon ~]# ifconfig | grep -E -o "[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]"
5、挑戰題:寫一個模式,能匹配合理的IP地址;
[root@bogon ~]# ifconfig | grep -E -o"(([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])" 172.16.13.153 255.255.255.0 172.16.13.255 127.0.0.1 255.0.0.0 192.168.122.1 255.255.255.0 192.168.122.255
“.” 需要加轉義符,不然不會精確匹配
6、挑戰題:寫一個模式,能匹配出所有的郵件地址;
[root@bogon ~]# grep -E -o "[[:alnum:]]+\@[[:alnum:]]+\.[[:alnum:]]"
7、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄;
[root@bogon ~]# find /var -user root -a -group mail /var/spool/mail [root@bogon ~]# ls -ld /var/spool/maild rwxrwxr-x. 2 root mail 30 9月 24 13:04 /var/spool/mail
8、查找當前系統上沒有屬主或屬組的文件;
[root@bogon ~]# find / -nouser -o -nogroup
進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄;
[root@bogon ~]# find / -nouser -o -nogroup -a -atime -3
-3:三天內 , 3:3-4的那一天,+3:大于等于4天
9、查找/etc目錄下所有用戶都有寫權限的文件;
[root@bogon ~]# find /etc -perm -222
10、查找/etc目錄下大于1M,且類型為普通文件的所有文件;
[root@bogon ~]# find /etc -size +1M -type f -exec ls -lh '{}' \; -rw-r--r--. 1 root root 3.7M 11月 21 2015 /etc/selinux/targeted/policy/policy.29 -r--r--r--. 1 root root 6.7M 9月 24 13:06 /etc/udev/hwdb.bin -rw-r--r--. 1 root root 1.4M 3月 6 2015 /etc/brltty/zh-tw.ctb
11、查找/etc/init.d/目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件;
[root@bogon ~]# find /etc/init.d/ -perm -113
12、查找/usr目錄下不屬于root、bin或hadoop的文件;
[root@bogon ~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop
[root@bogon ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
13、查找/etc/目錄下至少有一類用戶沒有寫權限的文件;
[root@bogon ~]# find /etc -not -perm -111 -ls
14、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件;
[root@bogon ~]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls 101812290 0 drwx------ 2 polkitd root 63 9月 24 12:55 /etc/polkit-1/rules.d
原創文章,作者:answer,如若轉載,請注明出處:http://www.www58058.com/48809
作業總結很贊,尤其是在find命令方面,當然還可以有更多詳細的總結,有時間一定要補上,比如關于時間方面的find也是比較常用的。