文件查找
find
格式:find [查找路径] [选项] [查找条件] [处理动作]
选项:
根据文件名:
-name "文件名称" #支持使用glob,如:*, ?, [], [^],注意:通配符要加双引号引起来
-iname "文件名称" #不区分字母大小写 可以直接使用iname,同意支持通配符
-regex “PATTERN” #以PATTERN匹配整个文件路径,而非文件名称
根据属主和属组:
-user USERNAME#查找属主为指定用户(UID)的文件
-group GRPNAME#查找属组为指定组(GID)的文件
-uid UserID#查找属主为指定的UID号的文件
-gid GroupID#查找属组为指定的GID号的文件
-nouser#查找没有属主的文件
-nogroup#查找没有属组的文件
根据文件类型:
-type TYPE
TYPE可以是以下形式:
f: 普通文件
d: 目录文件
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
空文件或目录:
-empty
文件大小:
-size [+|-]#UNIT #常用单位:k, M, G,c(byte),注意大小写敏感
5unit 表示4-5
+5 表示5以上
-5 表示5以下
根据时间:
注意 24小时内为第0天
-mtime n 以天为单位 +n 往前n天 n表示第n到n+1天 -n从n天以前到今天,同时使用可以表示以前的一段时间
-atime
-ctime
-mmin n以分钟为单位
-amin
-cmin
根据权限:
-perm
说明:
find -perm 755
会匹配权限模式恰好是755的文件
只要当任意人有写权限时,find -perm /222就会匹配 /表示任意一个满足
只有当每个人都有写权限时,find -perm -222才会匹配 -表示均满足
只有当其它人(other)有写权限时,find -perm -002才会匹配
其他不常用:
-inum n #按inode号查找
-samefile name #相同inode号的文件
-links n #链接数为n的文件
-depth #先处理目录内文件,最后处理目录
-maxdepthlevel #最大搜索目录深度,指定目录下的文件为第1级
-mindepthlevel #最小搜索目录深度
-regextype posix-extended -regex "regex" #以正则匹配
组合查找:
与:-a ,默认多个条件是与关系
或:-o
非:-not !
处理动作:
-ls:类似于对查找到的文件执行"ls -dils"命令格式输出
-delete:删除查找到的文件,慎用!
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令{}: 用于引用查找到的文件名称自身
xargs:常用来配合find使用
-n# 将结果以#列显示
-P 当处理较多时 以多线程运行
-i 将标准输出 替换为后面命令的参数 如果参数未指定且用{}代替
标签:文件,perm,目录,查找,文件名称,find
From: https://www.cnblogs.com/guquanheng/p/17879308.html