find命令解析

 一、find是什么

    find(精确查找)(实时查找)(而且可以指定查找路径)速度慢(支持通配glob)

 二、find的基本用法

    find[查找路径...可多个(省略时,默认为当前路径)][查找条件][处理动作,省略时表示仅显示出来]

 三、下面介绍find的详细选项用法

    -name""指定文件名;例如find /tmp -name "qinqin"

    -iname""表示在查找时不区分文件的大小写

    -user USERNAME根据用户进行查找

    -group GROUPNAME根据属组进行查找

    -uid UID根据UID进行查找

    -gid GID根据GID进行查找

    -nouser查找没有属主的文件

    -nogroup查找没有属组的文件

    -regex ""根据正则表达式查找

    -oregex""不区分大小写的根据正则表达式查找

    --type 根据文件类型查找;

            d目录;例如find /var/log-type d

    f普通文件

    l符号链接

    b block special

    c character special

    p named pipe

    s socked

    D door(Solaris)

    -size 2

    (K|M|G)例如:

    -size +2M大于2M的文件

    -size -1k小于1k的

    -size 2M介于2M正负1M范围内的文件

    单位是天

-atime [+/-](访问时间)

        -mtime [+/-](修改时间)

        -ctime [+/-](改变时间)

-atime  3到此刻刚好3天中被访问的文件

        -atime -3天内访问的文件

        -atime +3天前访问的文件

    单位是分

-amin   [+/-]

-mmin   [+/-]

-cmin   [+/-]

    -perm根据权限来查找

mode

/mode

 -mode

 

例如:find /etc -perm 640 精确匹配,其权限必须是640

    find /etc -perm /640三组权限中有任意一组匹配都行

        find /etc -perm -640含有该权限的都得匹配

 

-perm 222查找出来的权限必须是222

-perm -222 可查找出666,只要含有222权限的都可以

-perm -400只要属主有读权限即可,其他任意权限

-perm /400属主有读权限,其他没有任何权限;符合这三组都可

 

处理动作:

        

-print默认情况

-ls

find /etc -perm -640 -ls以详细信息显示所查找到文件

        -ok后可跟其他shell命令,后面必须跟个{占位符}\;(执行后面命令时提示是否执行)

        -exec 后可跟其他shell命令,后面必须跟个{命令选项等}\ (执行后面命令时不提示)

例如 find /etc -perm -640 -exec ls -lh {} \;

                               chown redhat {} \;修改查找到的文件的属主为redhat

例如find ./ -perm -002 -exec mv {} {}.old \;将查找到文件的名字加上.old

find | xargs COMMAND 不需要用占位符

多条件查找:条件间的逻辑关系

                  并关系:-a

                  或关系:-o

                  非关系:!或者-not

                例如:find /tmp -name "passwd" -user root(默认并关系)

                                             -a

                                             -o

                                             !

你可能感兴趣的:(find)