正则 grep查找find(xargs)练手

1、显示当前系统上root、fedora或user1用户的默认shell;

~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f7

2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

~]# grep  -E  -o  "[_[:alnum:]]+\(\)"  /etc/rc.d/init.d/functions

3、使用echo命令输出一个绝对路径,使用grep取出其基名;

~]# echo /etc/sysconfig/samba | grep -E -o "[^/]+/?$"

扩展:取出其路径名

~]# echo /etc/sysconfig/samba | grep -E -o "[/[:alpha:]]*/"

4、找出ifconfig命令结果中的1-255之间数字;

~]# ifconfig | grep  -E  -o  "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

5、挑战题:写一个模式,能匹配合理的IP地址;

~]# ifconfig | egrep -o '[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'

6、挑战题:写一个模式,能匹配出所有的邮件地址;

~]# egrep "^[[:alnum:]]+@[[:alnum:]]+.[[:alnum:]]+$"

7、查找/var目录下属主为root,且属组为mail的所有文件或目录;

~]# find /var -user root -group mail -ls

8、查找当前系统上没有属主或属组的文件;

~]# find -nouser -o -nogroup -ls

     进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

~]# find -nouser -o -nogroup -a -atime 3 -ls

9、查找/etc目录下所有用户都有写权限的文件;

~]# find /etc/ -perm /222 -type f

10、查找/etc目录下大于1M,且类型为普通文件的所有文件;

~]# find /etc/ -size +1M -type f |xargs ls -lh

(xargs作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题)

11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

~]# find /etc/init.d/ -perm /113 -type f -ls

16、查找/usr目录下不属于root、bin或hadoop的文件;

~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

12、查找/etc/目录下至少有一类用户没有写权限的文件;

~]# find /etc/ -not -perm -111 -type f -ls (至少有一类用户没有写权限)

13、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;"

~]# find /etc/ -mtime -7 -not -user root -a -not -user hadoop

原创文章,作者:rumor31,如若转载,请注明出处:http://www.178linux.com/54038

赞 (2)
rumor31rumor31
上一篇 2016-10-24 00:47
下一篇 2016-10-24 09:08

相关推荐

  • scp和rsync的使用

    通过一些简单需求了解scp和rsync的使用

    2017-09-18
  • 以洪荒之力打开linux德·摩根定律

    德·摩根定律让学习liunx的小伙伴绕得头疼,现在我就用洪荒之力为大家理顺一下这个定律。 由图片可以看出, A=4+3 B=3+2 非A=2+1 非B=4+1 A且B就是代表既是A又是B的地方,A和B都有色块3,所以色块3代表了A且B 同时,我们再看A=4+3 ,B=3+2,我们可以推断出,且运算的结果就是两个算数式中重复的数字。 A且B=3 A或B就是代表…

    Linux干货 2016-08-15
  • hadoop安全模式

    hadoop安全模式在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文…

    Linux干货 2015-04-13
  • Linux基础之shell脚本编程(四)

    1、写一个脚本   (1) 能接受四个参数:start, stop, restart, status    start: 输出“starting 脚本名 finished.”   (2) 其它任意参数,均报错退出;   1 #!/bin/bash   2 #a…

    Linux干货 2016-11-28
  • 第四周(1):课堂练习与作业

    课堂练习: 1、删除/etc/grub.conf文件中所有以空白开头的行行首的空白字符 [root@centos6 ~]# sed 's@^[[:space:]]\+@@' /etc/grub.conf 2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 …

    Linux干货 2016-08-10
  • 如何安装CentOS 6.9

    1、打开VMware,点击“创建新的虚拟机”   2、刚开始用的话,一般就选择推荐的典型类型来安装,所以直接点击“下一步”   3、此处选择稍后安装操作系统,这里我们先进行配置,点击“下一步”   4、因为我需要用里面的linux系统,所以选择客户机操作系统为Linux,选择版本为CentOS 64位,单击“下一步”。 &nbs…

    2017-07-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-27 13:05

    如列出命令执行的结果就更好了