linux文件查找命令locate和find

1.locate

   查找是根据全系统文件数据库的进行,查找速度快,只能对文件模糊查找

   #updatedb   手动生成文件数据库

    -i:查找文件不区分大小写

    -n #:显示查找结果的前#行

2.find

   使用格式:find  [查找路径]  [查找规则]  [查找完后执行的操作]

   查找路径:默认为当前目录,可以指定多个目录,多个之间用空格  

   查找完后执行的操作:显示到标准输出,默认为print

                                             -print:默认情况下的动作

                                             -ls:查找到后用ls 显示出来
                                             -ok [commend]:查找后执行命令的时候询问用户是否要执行

                                             使用格式:-ok   COMMAND \;  

                                             -exec [commend]:查找后执行命令的时候不询问用户,直接执行

                                             使用格式:-exec  COMMAND \;  

                                             | xargs:来对查找到的文件进一步操作,

                                             使用格式:| xargs COMMAND {}

   查找规则如下:

  (1)根据文件名

            -name:根据文件名精确查找,文件名支持通配符(globe)

            -iname:根据文件名查找,忽略大小写

 (2)根据文件属主、属组

           -user:根据属主查找

           -group:根据属组查找
           -uid:根据UID查找
           -gid:根据GID查找
           -nouser:查找没有属主的文件
           -nogroup:查找没有属组的文件

  (3)根据文件类型

             -type f:普通文件

                       d:目录

                       b:块设备

                       c:字符设备

                       l:符合链接文件

                       p:命令管道文件

                       s:套接字文件

  (4)根据文件大小

             -size #[k|M|G]:#数字,匹配的时候为模糊匹配#[k|M|G]

                      +#[k|M|G]:匹配的结果大于#[k|M|G]

                      -#[k|M|G]:匹配的结果小于#[k|M|G]

  (5)根据文件时间戳的相关属性

            命令stat可以查看文件的时间属性

             -atime   [+|-]#:访问时间,默认为天,#表示#天的这个时间点,+#表示至少有#天没访问 ,  -#表示#天之内没访问

            -mtime [+|-]#:修改时间,#表示#天的这个时间点没有被修改,+#表示至少有#天没有修改 ,  -#表示#天之内没有修改
            -ctime   [+|-]#:改变时间,#表示#天的这个时间点没有被改变,+#表示至少有#天没有被改变 ,  -#表示#天之内没有被改变
            -amin    [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被访问,+#表示至少有#分钟没有被访问 ,  -#表示#分钟之内没访问
            -mmin  [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被修改,+#表示至少有#分钟没有被修改 ,  -#表示#分钟之内没有被修改
            -cmin    [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被改变,+#表示至少有#分钟没有被改变 ,  -#表示#分钟之内没有被改变

  (6)根据文件权限

          -perm  [+|-] MODE:不带[+|-]表示精确权限匹配,+表示任何一类用户的任何一位权限匹配,- 表示每类用户的每位权限都匹配

   (7)组合条件查询

             -a:与,连接两个条件,两个条件必须同时满足

             -o:或,连接两个条件,两个条件满足其一即可
             -not: 非,对条件取反