文件的查找详细使用

文件查找:
    在文件系统上查找符合条件的文件个过程:
   
    文件查找工具:
        locate:非实时查找(依赖于事先构建的索引查找,索引是在系统较为空闲的时候自动更新的(周期性任务);用户能够手动更新此索引(updatedb))
        优势:查找速度快消耗资源少;模糊查找:只要包含条件也可寻得
        缺点:最新的文件没法查找,实时性不高
       
       
        find:实时查找(经过遍历指定路径)
        优势:精确查找文件名一一比对
        缺点:查找速度慢
       
    find命令
        find 【option】。。。【查找路径】 【查找条件】【处理动做】
            查找路径:默认为当前路径
            查找条件:指定的查找标准,能够根据文件名、大小、属性等进行;默认找出指定路径下的全部文件
           
            处理动做:对符合条件的文件作的操做;默认为输出至屏幕;
           
        查找条件:
            根据文件名进行查找:
                -name “文件名称” 支持使用glob(* , ? , [])
                -iname "文件名称"  不区分大小写,支持使用glob;
                -regex  “pattern”  以正则表达式匹配整个文件路径字符串,而不只是文件名称;
           
            根据属主进行查找
                -user USERNAME :查找用户名为指定用户的文件
                -group GROUPNAME:
                -uid USERID:查找文件的属主指定uid的文件
               
                -nouser:查找没有属主的文件
                -nogroup
            根据文件类型查找:
                -type TYPE
                    f:普通文件(在ls中-表示)
                    d:目录
                    l:符号连接
                    b:块设备
                    c:字符设备
                    p:命名管道
                    s:套接字
            组合查找条件:
                与条件:-a
                或条件:-o
                非条件:-not,!
                    find  /tmp \(-nouser -o -nogroup\)  -ls
                    -ls处理针对的是()内的条件 ()须要\转译号 若是不加 只针对-nogroup条件
            根据大小来查找:
                -size 【+|-】 #UNIT
                #UNIT:表示大于#-1且小于等于#
                -#UNIT:表示小于等于#-1
                +#UNIT:表示大于#
            根据 时间戳查找:
                以”天“为单位
                    -atime 【+|—】#
                            #:【#,#+1)
                            +:【#+1,∞】
                            -:(0,#)
                    -mtime
                    -ctime
                以“分钟”为单位
                    -amin
                    -mmin
                    -cmin
                   
            根据权限:
                -perm 【/|-】MODE
                    MODE:精确匹配
                    /MODE:任何一类用户的任何一位权限符合条件便可
                        好比/666:属主有读权限或写权限或者属组有读权限或写权限或者其余用户有读权限或写权限   
                       
                    -MODE:为每一类用户指定的权限都符合条件
                        好比-420:属主必须有读权限且属组有写权限其余用户不作要求
                    0表示对该类用户不做权限要求
            处理动做:
                -print:默认处理动做
                -ls:相似与对找到文件作“ls -l”操做
                -delete::删除查找到的文件:
                -fls   /path/to/somefile:查找到的文件详细路径信息保存到指定文件中正则表达式

                -exec COMMAND {} \;    #不会提示肯定,直接操做ide

                -ok  COMMAND {} \;    #会提示肯定,直接操做工具

         注意:find命令会一次性找到全部符合条件的文件,并一同传递给后面的命令,但有些命令不能接受过长的参数,解决办法:find |xargs COMMANDui

相关文章
相关标签/搜索