Find工具实例

 

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

 

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

赞 (0)
641348038@qq.com641348038@qq.com
上一篇 2016-11-27 19:21
下一篇 2016-11-27 20:01

相关推荐

  • 正则表达式之一grep

    grep :文本过滤( 模式:pattern) 工具 包括:grep, egrep, fgrep (不 支持正则表达式 搜索) 用法格式: grep [OPTIONS] PATTERN [FILE…]            &n…

    2017-02-27
  • SHELL编程之数组运用及YUM软件包管理

    SHELL编程中,当要引用到多个值的时候,一个一个地进行变量赋值会让我们的脚本变得繁琐,不利于代码的优化,所以,就需要通过数组进行定义,优化代码,减少不必要的定义和命令操作。 SHELL中的数组:存储多个元素的连续内存空间 数组名:整个属组只有一个名字 数组索引: 编号从0开始   数组名[索引]   ${array_name[index…

    Linux干货 2016-08-24
  • 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)

    设计模式 ( 十九 ) 模板方法模式Template method(类行为型) 1.概述 在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。例子1:银行业务办理流程在银行办理业务时,一般都包含几个基本固定步骤:取号排队->…

    Linux干货 2015-04-07
  • 第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s@^[[:space:]]\+[^[:space:]]@#&a…

    Linux干货 2017-02-26
  • MAN 手册各章节功能介绍及快捷键键位整理

    MAN 手册各章节功能介绍及快捷键键位整理   Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。  1、Linux 的man手册共有以下几个章节:         1章节:用户命令     …

    Linux干货 2016-10-19
  • 第五周练习

    1.显示当前系统上root,fedora或user1用户的默认shell         # cat /etc/passwd | cut -d: -f1,7 | grep -E "(fedora|root|user1)" 2.找出/etc/rc.d/init.…

    Linux干货 2016-11-26

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 23:33

    作业总结的非常棒,详细的过程,要是有一些拓展知识就更好了。