加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux下文件查找工具介绍

发布时间:2020-12-14 01:07:27 所属栏目:Linux 来源:网络整理
导读:文件查找工具 locate find locate: 查询系统预建的文件索引数据库 ???? 1. /var/lib/mlocate/mlocate.db ????2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb)。 locate的特点:查找速度快 ???????模糊查找 ????
文件查找工具
  • locate
  • find

    locate: 查询系统预建的文件索引数据库

    ???? 1. /var/lib/mlocate/mlocate.db
    ????2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb)。
    locate的特点:查找速度快
    ???????模糊查找
    ???????非实时查找
    ???????搜索的是文件的全路径,不仅仅是文件名
    ???????可能只搜索用户具备读取和执行权限的目录
    基本语法:
    ??-i :不区分大小写的搜索
    ??-n :N 只列举前N个匹配项
    ??-r :使用基本正则表达式
    示例
    ??搜索名称或路径中带有“conf”的文件
    ????locate conf
    ??使用Regex来搜索以“.conf”结尾的文件
    ????locate -r ‘.conf$’
    由于locate是搜索系统索引,在一般生产环境中使用较少。

    find 实时查找工具

    find特点:
    ??1.查找速度快
    ??2.精确查找
    ??3.实时查找
    ??4.可能只搜索用户具备读取和执行权限的目录
    基本语法:
    ??find 【option】...【查找路径】【查找条件】【处理动作】

  • 查找条件
    ??a.指搜索层级
    ??-maxdepth level 最大搜索目录深度
    ??-mindepth level 最小搜索目录深度
    ??b.根据文件名和inode查找:
    ??-name “文件名称”
    ??-iname "文件名称":不区分大小写字母
    ??-inum n :按inode号查找
    ??-samefile name :相同inode号的文件
    ??-links n :链接数为n的文件
    ??c.根据属主,属组查找:
    ??-user username:查找属主为指定UID的文件
    ??-group grpname:查找属组文指定GID的文件
    ??-uid userid:查找数主为指定UID的文件
    ??-gid groupid:查找属组为指定GID的文件
    ??-nouser :查找没有属主的文件
    ??-nogroup :查找没有属组的文件
    ??d.根据文件类型查找
    ??-type type
    ??? f:普通文件
    ???d: 目录文件
    ???l:符号链接文件
    ???s:套接字文件
    ???b:块设备文件
    ???c:字符设备文件
    ???p:管道文件
    ???-empty :查找空文件和目录
    ??e.组合条件
    ???与 : -a
    ???或 : -o
    ???非 : -not !
    ??f.根据文件大小来查找文件
    ???-size 【+|-】
    ??g.根据时间查找


    ??h.根据权限查找
    ???-perm [/|-]MODE
    ???MODE:精确权限匹配
    ???/MODE:任何一类(u,g,o)对象中只要有一位匹配即可 或关系
    ???-MODE:每一位对象都必须同时匹配 与关系

    处理动作

    ??-print :默认的处理动作,屏幕打印输出
    ??-ls : 列举出匹配的文件
    ??-delete :删除操作,删除过程不提示比较危险
    ??-fls file :查找到的文件保存到文件中,类似于重定向
    ??-exec command {} ;:对查找到的文件执行command 指定的命令,对于使用这种命令一定要记得后面加 ;
    ??{} :用于引用查找到文件的文件名称自身

    参数替换xargs

    由于很多命令不支持管道|来传递参数,xatgs用于产生某个命令的参数。 当然也有很多命令不能接受过多的参数,命令执行可能会失败,xargs都可以解决 例子: ?? ls | xargs rm :删除当前目录下大量的文件 ??echo f{1..52222220} | xargs touch :创建大量的文件 ??find -type f -name “*.txt” -print0 | xargs -0 rm 以字符nul分隔

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读