find命令详解
find [OPTION]... [查找路径] [查找条件] [处理动作]
查找路径
:默认当前路径查找条件
:默认为没有条件,即查找出所有文件处理动作
:对符合条件的文件做的操作 默认为输出至屏幕
查找条件
-name FILENAME
: 指定文件名查找,支持使用glob;可以使用-iname
不区分大小写-
-regex PATTERN
glob不能满足条件,使用正则查找 -
-user USERNAME
查找指定用户名 -group GRPNAME
查找指定组-uid UID
查找指定UID-git GID
查找指定GID-nouser
查找用户被删除的文件-nogroup
查找用户组被删除的文件-type
查找指定文件类型b c f d l p s
等-inum
查找指定inode号的文件,可用于查找硬链接-
-size [+|-]UNIT
根据大小查找,单位b,k,M,G
#UNIT
(#-1,#] 查找大小N-1,N的文件+#UNIT
(#,oo] 查找大小大于N的文件-#UNIT
[0,#-1] 查找大小小于N-1的文件
-
-atime
-mtime
-ctime
根据时间查找 单位为天day
[#,#+1) 查找时间为N天前-还没满N+1天的文件+day
[#+1,oo] 查找时间为N+1天整以上的文件-day
[0,#) 查找时间小于N天的文件+-day
查找所有时间的文件 相当于没有此参数
-
-amin
-mmin
-cmin
根据时间查找 单位为分钟+
代表之前-
代表之内 -perm [+|-]MODE
根据权限查找MODE
精确匹配权限/MODE
UGO三类中任意一项的任意一位匹配即可-MODE
UGO三类中 每一类对象必须同时拥有为其制定的权限
-samefile FILENAME
查找inode号相同的文件-lname FILENAME
查找文件的软链接-maxdepth NUM
查找深度-newer FILENAME
查找比指定文件新的文件
处理动作
-print
默认的处理动作 输出到屏幕-ls
显示查找到的文件的详细信息(元信息)-fls /PATH/FILE
将查找到的结果的详细信息写入到文件-delete
删除查找到的文件-exec COMMAND {} ;
把查找到的结果 传给后边的命令执行{}
用于引用查找到的文件名称自身-exec COMMAND {} {}.new ;
在执行cp mv
等命令时,需要通过括号引用自身
组合条件
-a,-and
与-o,-or
或!,-not
非