第5周
1.显示当前系统上root,fedora或user1用户的默认shell。
[root@node1 ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f 7 /bin/bash /bin/bash /bin/bash
[root@node1 ~]# grep "^\(root\|fedora\|user1\)\>" /etc/passwd | cut -d: -f 7 /bin/bash /bin/bash /bin/bash
2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()。
[root@node1 ~]# grep -E "[[: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@node1 ~]# echo /etc/rc.d/init.d/functions | grep -o "[^/]\+/\?$" functions 取路径名 [root@node1 ~]# echo /etc/rc.d/init.d/functions | grep -E -o "(/).*\1" /etc/rc.d/init.d/
4.找出ifconfig命令结果中的1-255之间的数字。
[root@node1 ~]# ifconfig | grep -E --color=auto "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"
5.挑战题:写一个模式,能匹配合理的IP地址。
[root@node1 ~]# ifconfig | grep -E "(\<([0,1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0,1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\>" inet addr:192.168.33.129 Bcast:192.168.33.255 Mask:255.255.255.0 inet addr:127.0.0.1 Mask:255.0.0.0
6.挑战提:写一个模式,能匹配出所有的邮件地址。
grep -E "([[:alph^C]]*|[0-9]*|[[:punct:]]*|\.|\@)"
7.查找/var目录下属主为root,且属组为mail的所有文件或目录。
[root@node1 ~]# find /var -user root -a -group mail -ls 134320628 4 drwxrwxr-x 2 root mail 4096 Jul 26 11:43 /var/spool/mail 928 0 -rw-r--r-- 1 root mail 0 Jul 25 07:21 /var/test/find.test
8.查找当前系统上没有属主或属组的文件;进一步查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录。
[root@node1 ~]# find / -nouser -o -nogroup -type f | xargs ls -l find: ‘/proc/2682/task/2682/fd/6’: No such file or directory find: ‘/proc/2682/task/2682/fdinfo/6’: No such file or directory find: ‘/proc/2682/fd/6’: No such file or directory find: ‘/proc/2682/fdinfo/6’: No such file or directory -rw-r--r--. 1 1005 distro 18 Nov 20 2015 /home/mandriva/.bash_logout -rw-r--r--. 1 1005 distro 193 Nov 20 2015 /home/mandriva/.bash_profile -rw-r--r--. 1 1005 distro 231 Nov 20 2015 /home/mandriva/.bashrc -rw-rw----. 1 1005 mail 0 Jul 25 17:07 /var/spool/mail/mandriva
[root@node1 ~]# find / \( -nouser -o -nogroup \) -a -atime -3 | xargs ls -l find: ‘/proc/2688/task/2688/fd/6’: No such file or directory find: ‘/proc/2688/task/2688/fdinfo/6’: No such file or directory find: ‘/proc/2688/fd/6’: No such file or directory find: ‘/proc/2688/fdinfo/6’: No such file or directory -rw-r--r--. 1 1005 distro 18 Nov 20 2015 /home/mandriva/.bash_logout -rw-r--r--. 1 1005 distro 193 Nov 20 2015 /home/mandriva/.bash_profile -rw-r--r--. 1 1005 distro 231 Nov 20 2015 /home/mandriva/.bashrc -rw-rw----. 1 1005 mail 0 Jul 25 17:07 /var/spool/mail/mandriva /home/mandriva: total 0
9.查找/etc目录下所有用户都有写权限的文件。
[root@node1 ~]# find /etc/ -perm -222
10.查找/etc目录下大于1M,且类型为普通文件的所有文件。
[root@node1 ~]# find /etc/ -size +1M -a -type f | xargs ls -lh -rw-r--r--. 1 root root 3.7M Nov 21 2015 /etc/selinux/targeted/policy/policy.29 -r--r--r--. 1 root root 6.7M Jul 12 21:02 /etc/udev/hwdb.bin
原创文章,作者:ZhengBin,如若转载,请注明出处:http://www.178linux.com/82790
评论列表(1条)
find的功能非常强大,学有余力建议深入学习。