1、显示当前系统上root、fadora或user1用户的默认shell。
[root@localhost ~]# grep -E "^(root|fadora|user1)\>" /etc/passwd | cut -d : -f 1,7
root:/bin/bash
fadora:/bin/bash
user1:/bin/bash
2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,例如hello()。
[root@localhost ~]# grep -E -o "^[[:alnum:]]+\(\)" /etc/init.d/functions
checkpid()
daemon()
killproc()
pidfileofproc()
pidofproc()
status()
success()
failure()
passed()
warning()
action()
strstr()
3、使用echo命令输出一个绝对路径,使用grep取出其基名。扩展取出其路径名
[root@localhost ~]# echo /etc/init.d/functions | grep -E -o "[^/]+/?$"
functions
扩展:
[root@localhost ~]# echo /etc/init.d/functions | grep -E -o "^/.+/"
/etc/init.d/
4、找出ifconfig命令结果中1-255之间的数字。
[root@localhost ~]# ifconfig | grep -E -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\>"
5、写一个模式,能匹配合理的IP地址。
[root@localhost ~]# ifconfig | grep -E -o "\<[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\>"
10.1.8.93
255.255.255.0
10.1.8.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255
6、写一个模式,能匹配出所有邮件地址。
[root@localhost ~]# grep -E -o "[[:alnum:]]+[[:punct:]]?[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+"
7、查找/var目录下属主为root,且属组为mail的所有文件或目录。
[root@localhost ~]# find /var/ -user root -group mail -ls
134321240 4 drwxrwxr-x 2 root mail 4096 11月 25 10:22 /var/spool/mail
8、查找当前系统上没有属主或属组的文件。
[root@localhost ~]# find / \( -nouser -o -nogroup \) -ls
135 0 drwx------ 2 1005 1005 59 11月 12 01:20 /home/mandriva
136 4 -rw-r--r-- 1 1005 1005 18 11月 20 2015 /home/mandriva/.bash_logout
137 4 -rw-r--r-- 1 1005 1005 193 11月 20 2015 /home/mandriva/.bash_profile
138 4 -rw-r--r-- 1 1005 1005 231 11月 20 2015 /home/mandriva/.bashrc
134677928 0 -rw-rw---- 1 1005 mail 0 11月 12 01:20 /var/spool/mail/mandriva
8.1、查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录。
[root@localhost ~]# find / \( -nouser -o -nogroup \) -atime -3 -ls
135 0 drwx------ 2 1005 1005 59 11月 12 01:20 /home/mandriva
9、查找/etc目录下所有用户都有写权限的文件。
[root@localhost ~]# find /etc -perm -222 -type f -ls
135034984 4 -rw-rw-rw- 1 root root 541 11月 25 11:30 /etc/fstab1
10、查找/etc目录下大于1M,且类型为普通文件的所有文件。
[root@localhost ~]# find /etc -size +1M -type f -exec ls -lh {} \;
-r--r--r--. 1 root root 6.7M 11月 23 22:45 /etc/udev/hwdb.bin
-rw-r--r--. 1 root root 3.7M 11月 21 2015 /etc/selinux/targeted/policy/policy.29
-rw-r--r--. 1 root root 1.4M 3月 6 2015 /etc/brltty/zh-tw.ctb
11、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件。
[root@localhost ~]# find /etc/init.d/ -perm -113 -type f -ls
12、查找/usr目录下不属于root、bin或hadoop的文件。
[root@localhost ~]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -type f -ls
205959185 16 -rwsr-sr-x 1 abrt abrt 15336 12月 1 2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
13、查找/etc目录下至少有一类用户没有写权限的文件。
find /etc/ -not -perm -222 -type f -ls
14、查找/etc目录下最近一周内其内容被修改过,且不属于root或dadoop的文件。
find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \) -type f -ls