1、显示当前系统上root、fedora或user1用户的默认shell;
[root@localhost ~]# egrep "^root|fedora|user1" /etc/passwd root:x:0:0:root:/root:/bin/bash fedora:x:1002:1002::/home/fedora:/bin/bash user1:x:1003:1003::/home/user1:/bin/bash
2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
[root@localhost ~]# egrep "[[: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@localhost ~]# echo /etc/sysconfig/ |egrep -o "[^/]+/?$" \\基名 sysconfig/ [root@localhost ~]# echo /etc/sysconfig/ |egrep -o "^/[[:alpha:]]+" \\路径名 /etc
4、找出ifconfig命令结果中的1-255之间数字;
[root@localhost ~]# ifconfig |egrep -o "[0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]" |sort -nu 0 1 2 3 4 5 6 10 40 43 44 51 52 53 54 65 73 94 99 122 127 128 150 168 192 255
5、挑战题:写一个模式,能匹配合理的IP地址;
[root@localhost ~]# ifconfig |egrep -o "(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" 127.0.0.1 255.0.0.0 192.168.122.1 255.255.255.0 192.168.122.255
6、挑战题:写一个模式,能匹配出所有的邮件地址;
bash脚本: #!/bin/bash # read -p "Please enter e-mail:" email echo $email |egrep -o "^[[:alnum:]_-]*@[[:alnum:]_-]*\.[[:alpha:]_-]*$" if [ `echo $?` -eq 0 ];then echo "it's e-mail address" else echo "it's not e-mail address" fi 举例: [root@localhost xuc-scripts]# bash e-mail.sh Please enter e-mail:14691171@qq.com 14691171@qq.com it's e-mail address [root@localhost xuc-scripts]# vim e-mail.sh [root@localhost xuc-scripts]# bash e-mail.sh Please enter e-mail:354 it's not e-mail address
7、查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@localhost var]# find /var -user root -group mail -ls 100667017 0 drwxrwxr-x 2 root mail 65 Sep 8 21:49 /var/spool/mail 37675687 0 drwxr-xr-x 2 root mail 6 Sep 9 04:15 /var/test 4392325 0 drwxr-xr-x 2 root mail 6 Sep 9 04:24 /var/test1
8、查找当前系统上没有属主或属组的文件; 进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
[root@localhost var]# find / -nouser -o -nogroup -ls find: ‘/proc/25303/task/25303/fd/6’: No such file or directory find: ‘/proc/25303/task/25303/fdinfo/6’: No such file or directory find: ‘/proc/25303/fd/6’: No such file or directory find: ‘/proc/25303/fdinfo/6’: No such file or directory find: ‘/run/user/1000/gvfs’: Permission denied [root@localhost var]# find / -nouser -o -nogroup -atime -3 -ls find: ‘/proc/25323/task/25323/fd/6’: No such file or directory find: ‘/proc/25323/task/25323/fdinfo/6’: No such file or directory find: ‘/proc/25323/fd/6’: No such file or directory find: ‘/proc/25323/fdinfo/6’: No such file or directory find: ‘/run/user/1000/gvfs’: Permission denied
9、查找/etc目录下所有用户都有写权限的文件;
[root@localhost var]# find /etc/ -perm -222 -type f -ls 569318 4 -rwxrwxrwx 1 root root 1982 Jun 10 2014 /etc/virc 818408 4 -rwxrwxrwx 1 root root 970 Dec 3 2015 /etc/yum.conf
10、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@localhost var]# find /etc -size +1M -type f -ls 37239307 3772 -rw-r--r-- 1 root root 3858924 Nov 20 2015 /etc/selinux/targeted/policy/policy.29 69579782 6852 -r--r--r-- 1 root root 7014922 Sep 7 09:12 /etc/udev/hwdb.bin 68402927 1336 -rw-r--r-- 1 root root 1367395 Mar 5 2015 /etc/brltty/zh-tw.ctb
11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@localhost var]# find /etc/init.d/ -perm -113 -type f -ls 67903846 4 -rwxrwxrwx 1 root root 2989 Sep 16 2015 /etc/init.d/netconsole 67903847 8 -rwxrwxrwx 1 root root 6630 Sep 16 2015 /etc/init.d/network
12、查找/usr目录下不属于root、bin或hadoop的文件;
[root@localhost usr]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls 101333886 4 drwx------ 2 polkitd root 4096 Sep 7 07:06 /usr/share/polkit-1/rules.d 35800731 16 -rwsr-sr-x 1 abrt abrt 15336 Dec 1 2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 37675688 0 drwxr-xr-x 2 xuc xuc 6 Sep 9 05:16 /usr/test1 69105679 0 drwxr-xr-x 2 xuc xuc 6 Sep 9 05:16 /usr/test2 101683877 0 drwxr-xr-x 2 xuc xuc 6 Sep 9 05:16 /usr/test3
13、查找/etc/目录下至少有一类用户没有写权限的文件;
[root@localhost usr]# find /etc/ -not -perm -222 -type f -ls 102641157 8 -rwxr-xr-x 1 root root 5767 Jun 10 2014 /etc/smartmontools/smartd_warning.sh 68122669 4 -rwxr-xr-x 1 root root 1382 Nov 20 2015 /etc/qemu-ga/fsfreeze-hook 102705029 4 -rwxr-xr-x 1 root root 1676 Nov 20 2015 /etc/kernel/postinst.d/51-dracut-rescue-postinst.sh 3936052 8 -rw-r--r-- 1 root root 5171 Jun 9 2014 /etc/man_db.conf 18596 52 -rw-r--r-- 1 root root 51787 May 14 2013 /etc/mime.types 4008275 4 -rw-r----- 1 root root 3181 Jul 25 2013 /etc/sudo-ldap.conf
14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@localhost usr]# find /etc/ -not -user root -a -not -user hadoop -mtime -7 -type f -ls
原创文章,作者:N22_熊宝,如若转载,请注明出处:http://www.178linux.com/45734
评论列表(1条)
写的很棒,给你点赞