Linux笔记--文件搜索命令1-find

1.文件搜索命令 find

        命令所在路径:/bin/find

       执行权限:所有用户

       语法:find [搜索范围] [匹配条件]

       功能:文件搜索

      例1:根据文件名进行搜索 : find /etc -name init 

                若不区分文件名大小写 :find /etc -iname init

                注:和Windows 中根据文件名搜索不一样,Windows中会搜索所有带init的文件,而Linux中只会搜索文件名为Init的文件,相当于精准搜索。

                若查找文件名中带init的文件:find /etc -name *init*

                若查找以init开头的文件:find /etc -name init*

                若查找文件名以init开头后面还有三位字母的文件:find /etc -name init???

      例2:根据文件大小进行搜索:find / -size +204800 (查找/目录下文件大小大于100MB的文件)

                          注意number单位是一个数据块,一个数据块大小为512字节(0.5KB)

                          +number : 大于 ; -number : 小于  ;n : 等于

      例3:根据所有者进行搜索 :find /home -user cxy1

      例4:根据所属组进行搜索 :find /home -group cxy1

      例5:根据访问时间进行搜素:find /etc -cmin -5    在/etc下查找5分钟被修改过属性的文件和目录

                      -amin 访问时间 access

                      -cmin 文件属性 change

                      -mmin 文件内容 modify

      注:避免在服务器访问高峰期进行find查找,搜索范围越小越好,搜索条件越精准越好

      例6:搜索条件有多个

                   选项-a : 两个条件同时满足

                      在/etc下查找大于80MB小于100MB的文件:find /etc -size +163840 -a -size -204800

                   选项-o : 两个条件满足任意一个即可

                       在/etc下查找文件名为init或者以init开头后面有三个字母的文件:find /etc -name init -o -name init???

      例7:对搜索结果进行操作   -exec/-ok 命令 {} \;

                    在/etc下查找inittab文件并显示其详细信息 : /etc -name inittab -exec ls -l {} \;

                    注:{}与\之间有一个空格;

                            -ok:对每个查找结果会一个一个询问要不要查看 (在进行删除操作时比较常用)

     例8:根据文件类型查找

                    f : 文件 ;d : 目录 ;l : 软链接文件

                    在/etc 下查找以init开头的目录:find /etc -name init* -a -type f

     例9:根据i节点查找

                在tmp目录下通过i节点查找test文件并删除Linux笔记--文件搜索命令1-find

            注:有时通过文件名删除文件时会莫名其妙删除不了,可以通过i节点进行删除

                    通过i节点查找某文件的硬链接文件