find用法
find语法:
find [option] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前路径,可指定具体查找路径
查找条件:文件类型、大小、文件名、权限等,默认当前路径下所有的文件
处理动作:对符合的文件做操作,默认是输出到屏幕,即-print指令
查找条件:
文件名
-name 文件名,支持通配符,注意需要加双引号
-iname 文件名,不区分大小写
-inum n 根据inode号查找,n指定
-links n 查找链接数为n的文件
-regex 以正则表达式匹配查找整个文件路径,而不是文件名
-user 用户名 查找属主为该用户名的文件
-group 组名 查找属组为该组名的文件
-nouser 查找没有属主的文件
-nogroup 查找没有属组的文件
文件类型
-type TYPE 根据执行类型查找
f:普通文件、d:目录文件、l:符号链接文件、s:套接字文件、b:块设备文件、p:管道文件及c:字符设备文件
-empty 空的文件或者目录
组合条件
注意:默认是与运算,支持小(),需要用\反斜杠进行转义,如果或者运算在前,注意后续是否有与运算,如果有则先进行与运算,如果想要先进行前面的或者运算,则加 ( 表达式)
a 与|并且
o 或|或者
!-not 非
文件大小
格式: -size [+|-| ]n
n代表指定大小,单位一般有:k M G c
-n 搜索 [0,n-1] 大小的文件
n 搜索(n-1,n] 大小的文件
+n 搜索 (n,∞) 大小的文件
时间条件
格式: -atime [+|-| ] n
-atime 访问时间 -mtime 修改时间 -c 状态修改时间
atime 以天为单位 amin 以分钟为单位
n代表指定时间
-n 搜索 [0,n) 大小的文件
n 搜索 [n,n+1) 大小的文件
+n 搜索 [n+1,∞) 大小的文件
处理动作
-print 默认处理动作显示在屏幕
-ls 长格式显示文件
-exec cmd {} \; 将find查找到的结果,以参数的形式传递给cmd命令处理,{}代表find查找的内容 并以\;结尾