美文网首页
Find 命令 搜索文件/文件夹 Linux/Mac

Find 命令 搜索文件/文件夹 Linux/Mac

作者: MrLimLee | 来源:发表于2020-04-03 09:24 被阅读0次

    Find 命令

    根据文件名称模糊查询

    `find ./ -iname '*.txt'`
    同理
    包含任何一个字符(a或b或c)
    `find /Users/lim/Documents/ -iname '[abc].sh'`
    

    查找属主文件

    find /Users/lim/Documents/ -user lim  // 查找属主文件
    
    同理:
    -user username:查找属主是xx的文件
    -group group:查找属组的xx文件
    -uid useruid:查找uid号的文件
    -gid groupid:查找gid号的文件
    -nouser:查找没有属主的文件,即文件存在但是 user已被删除
    -nogroup:查找没有属组的文件
    

    根据文件类型查找

    find /Users/lim/Documents/ -type f
    
    同理:
    -type f:普通文件
    -type d:目录文件
    -type l:符号链接文件
    -type s:套接字文件
    -type b:块设备文件
    -type c:字符设备文件
    -type p:管道文件
    

    根据文件大小查找

    find /Users/lim/Documents/ -size +10M
    
    同理:
    -size +10M :大于10M的文件
    -size +100k:大于100k的文件
    -size +1G:大于1G的文件
    -size -1G:小于文件的文件
    

    根据时间查找文件

    find /Users/lim/Documents/ -atime 3
    
    同理:
    以天为单位:
    -atime:访问时间(access time)
    -ctime:变更时间(change time)
    -mtime:修改时间(modify time)
    
    以分钟为单位:
    -amin: 访问时间(access time)
    -mmin:修改时间(change time)
    -cmin:改变时间(modify time)
    

    根据权限查找

    find /Users/lim/Documents/ -perm +600
    
    同理:
    -perm +600:属主属组其他权限 只要有一个匹配就当成功;600代表三个对象,6属主 CentOS7上 使用 /600
    -perm -600:每个对象都必须同时拥有其指定的权限,三个对象同时成立 如:-003表示其他用户必须有写与执行权限
    

    条件查询

    find /Users/lim/Documents/ -iname '*.txt' -a -name 'a*.txt'
    
    同理:
    -a :与
    -o :或
    -not:非
    ! :非
    

    处理动作

    find /Users/lim/Documents/ -iname 'lim.sh' -print
    
    同理:
    -print:打印到屏幕
    -ls:查找到的文件 进行 ls
    -delete:删除查找到的文件
    -ok command {}\; 对查找的文件执行由command指定的命令,交互式
    -exec command {}\;同上,非交互式
    {}:代表前面find找到的 文件名称本身
    

    相关示例

    1. 最后十分钟修改的文件
      • find /Users/lim/Documents/ -cmin -10

    相关文章

      网友评论

          本文标题:Find 命令 搜索文件/文件夹 Linux/Mac

          本文链接:https://www.haomeiwen.com/subject/uvffphtx.html