简介:find工具是linux中查找文件的软件之一,其功能强大,是linux管理员必需要知道的一项

基本语法:

            

        find [options] [查找路径] [查找条件] [处理动作exec]

                查找路径:默认则为当前目录

        查找条件:默认则表示指定目录下的所有文件

        处理动作:默认为显示

  

查找条件:

     -name ”文件名称“:支持使用gloab(文件通配)

         *

[]

[^]

     -iname "文件名称":查找时不区分大小写

     -user UserName:根据属主查找

     -group GroupName:根据属组查找

     -uid UID:根据属主的UID查找

     -gid GID:根据属组的GID查找

     -nouser:查找没有属主的文件

     -nogroup:查找没有属主的文件

    

    -type: 根据文件类型查找

          f:普通文件

          d:目录

          b:块设备

          c:字符设备

          l:符号链接文件

          p:命令管道

          s:套接字        



特殊点一、组合条件:在要要查找的选项前面加

         -a:与。同时满足,可省略

-o:或,一个满足

-not,!非。取反

非A,并且非B:非(A或B)

#查找属主不是'hadoop'并且文件名不是'txt'结尾的文件

find .  -not( -user hadoop -0 iname ”*.txt“)


        非A,或者非B:非(A且B)

#查找属主不是‘hsdoop’或者文件名是以“doc”结尾的文件

      find .   -not (-user hadoop -a iname "*.doc")


特殊点二、根据文件大小查找

        

-size:根据文件大小查找在单位内的

          -size [+|-] # unit(单位)

          例如 -size +2M,大于3MB

 常用单位k.M,G

 1M表示(0-1M)之间的所有的文件

 #:(#-1)<#<=# 表示如果size 写成了大小为# 那就显示出小于#大小一个单位以内的文件或者是小于等于#大小的文件


特殊点三、根据访问时间查找文件

根据时间戳来查找:

       以天为单位(time):

         -atime [+|-]# 访问时间

    +#:表示(#+1)天之外被访问过

    -:表示#天内被访问过的

    无符号:表示短于(#+1)>x>=#天的时间段被访问过

-ctime        改变时间

-mtime        修改时间

       以分钟为单位(min)

           -amin:

  -mmin:

  -cmin:

特殊点四、根据文件权限查找文件 

根据权限查找:

       -perm [+|-]MODE

          MODE:  精确匹配

 +MODE:任何一类用户的任何一位权限匹配即可,常用于查找某类用用户的某特定权限是否存在

 -MODE: 每类用户的指定要检查的权限位都匹配

              

     文件权限:644

     -perm 600:否

     -perm +222:是,查找用户有写权限

     -perm +002:否,不匹配,0表示不查看

               -perm -444,是