文件查找命令

  • locate:不是实时的文件查找,根据全系统文件数据库进行查找的,模糊查找,但是速度较快 update 命令用来生成文件数据库;locate reads one or more databases prepared by updatedb(8) and writes file names matching atleast one of the PATTERNs to standard output, one per line
    这里写图片描述
  • 最常使用的命令是find,实时查找,精确查找,通过遍历目录中的所有文件的查找,但是速度慢;
  • 格式:find 查找路径 查找标准 查找以后的处理操作,默认为当前目录进行查找;
  • 查找标准:
    • -name filename:用来做精确查找;支持文件名通配:
      • *:任意长度任意字符;
      • ?:任意单个字符;
    • -iname filename:表明在匹配不区分大小写;
    • -regex PATTERN:基于正则表达式实现文件名匹配;
    • -user USERNAME:进行用户查找;
    • -group GROUPNAME:按照组进行查找;
    • -uid uidname:按照 uid进行查找,因为一个用户删除之后,不在用户家目录里面的文件仍然是存在的,并且属主为之前用户的uid,对于这些文件的管理需要使用uid进行查找;
    • -gid gidname:按照 gid进行查找,对于组的概念和上面是一样的;
    • -nouser:查找没有用户的文件;
    • -nogroup:查找没有属组的文件;注意:用户或者组再被使用-r删除后,用户或者租
      id 号仍然存在,这个用户的文件任然是存在的;
    • -type通过类型进行查找:
      • f:普通文件;
      • d:目录文件;
      • c:字符设备;
      • b:块设备;
      • l:链接文件;
      • p:管道设备;
      • s:套接字文件;
    • -size:#单位 k|M|G:同样可以使用+-号表示大于或者小于该大小,在一定范围内的都会显示;
    • 组合条件进行查找:
      • -a:表示需要同时满足;
      • -o:表示两种中间满足一个;
      • -not:表示非;
        • 例如:find /tmp –type – not –d –a –not –f:表示查找不是目录并且不是套接字的文件;
        • find ./ -not –user user1 –o –not –type d 等价于 find ./ -not \( -user user1 –a –type d \);
    • 根据时间戳进行查找:
      • -mtime :表示修改时间;
      • -ctime:表示文件的修改时间;
      • -atime:表示文件的访问时间;
      • 支持使用+|-进行修饰,上面表示的时间单位是天,如果不使用表示精确到某一个时刻;-:表示多久时间之内访问的文件;+:表示多久时间之前访问的文件;5:表示5天之前访问的文件;-5:表示五天之内访问的文件;+5:表示五天之前访问的文件;
      • 同样也支持精确到分钟的操作:
        • -mmin:表示修改时间;
        • -amin:表示访问时间;
        • -cmin:表示改变时间;
    • 按照权限进行查找:
      • -perm MODE:表示精确匹配,;
        • \MODE:表示只要有一个权限匹配到就可以;
        • -perm –mode :当文件权限完全包含mode时,才可以进行匹配;
        • find ./ perm -001
  • find执行的动作:
    • -print:显示;
    • -ls:类似 ls –l 的形式显示每一个文件的详细信息;
    • -ok command {} \;:使用\;结尾,否则就是语法错误,作为文件名称占位符号;find ./ -perm -mode 001 -ok chmod o-x {} \;这种方式是需要确认的
    • -exec command {} \;: 这里是不会存在提示信息的;
    • find /etc –size +1M –exec echo {} >> /tmp/etc.largefiles \; 作用等价于 find /etc –size +1M | xargs echo >> /tmp/etc.largefiles;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值