在linux中一般用where或locate来检查,如果不能找到,才用find查找,因为whereis与locate都是使用数据库来搜索数据的,速度非常快,而且别没用实际搜索硬盘,比较省时间。但是find的命令非常强大,不失为一个好的工具

which(查找可执行文件:命令)

           -a command  将找到的所有命令均列出

       这个命令是根据"PATH"环境变量所规范的路径来搜索的,不加-a只能找到第一个命令

       whereis(寻找特定文件)

         -b 只查找二进制文件

         -m 只查找帮助文档manual路径下的文件

          -s 只查找源文件

          -u 没有帮助文件的文

locate

        locate的数据库文件在/etc/updatedb.conf中,可手动执行updatedb建立数据库

           locate  word  用来查找路径和文件名种包含word的条目  

                -i 忽略大小写

                -n 10  只显示前10行

                 -e 查找的结果与数据库比对

                 -r 使用基本正则表达式  eg:locate  -r "<issue>"

                 -- regex 使用扩展的正则表达式     

find

 

           find [PATH] [option] [action]

      与时间有关的参数(+n表示在n天前 ,-n表示在n天之内)   (amin分钟)

          -atime  (+,-)n  表示在n天(前,之内)访问access过的文件(cmin分钟)

           -ctime  (+,-)n  表示在n天(前,之内)修改change过的文件(mmin分钟)

          -mtime (+,-)n   表示在n天(前,之内)修改modification过的文件

        与用户和用户组有关的参数

           -uid n

            -gid n 

            -user  name     name为用户名

            -group name    name为组名

             -nouser   查找文件属主不在/etc/passwd下的文件

             -nogroup  查找文件属组不在/etc/group下的文件

 

       与文件权限大小有关的参数

              -name 搜索文件名特定的文件

              -size (+,-)   SIZE大小为(大于小于)SIZE的问津

              -type  TYPE  搜索特定类型的文件

              -perm mode 搜索 权限为 权限模型的文件

              -perm +mode  文件三组权限中包含对应位权限的文件

              -perm -mode   三组权限中必须同时匹配对应位的文件

        附加的操作

             -exec command   {}   \;  为搜索到的文件执行command 命令

                                       {}为占位符,代指前面搜索到的文件

              -ok   command   {}   \;

             -exec 与-ok的作用都是为前面搜索到的文件执行命令,-exec直接全部执行命令不询问,-ok逐一询问是否执行命令