find命令用来查找指定的文件,其用法如下:
1.find
-name ##根据文件名查找
find /etc/ -name passwd:查找/etc下文件名为passwd的文件
-user ##根据用户查找
如下,我们在/mnt下有如下文件,查找用户为student的文件如下:
-group ##根据拥有组查找
既指定用户又指定用户组:
find /mnt/ -not -user student | -group root
##查找mnt下拥有者不是student | 拥有组不是root
-o ##所有条件符合一个即可
-a ##必须所有条件都符合
-maxdepth num ##指定查找时的最大深度
-mindepth num ##指定查找时的最小深度
-size numk|M ##根据指定大小查找
-size +20k ##查找超过20k的文件(k小写)
-size -20k ##查找小于20k的文件
首先,我们可以看到,/mnt下的文件中有100k,200k,400k的文件:
-type ##根据指定类型查找(-,d,l,s,f,b)
若我们指定查找目录(d),则查找的结果是/mnt/目录本身
若我们指定查找文件(f),则查找的结果是/mnt/目录下的文件:
-cmin 10 ##查找10min结点上修改过的文件
-cmin -10 ##查找10min以内修改过的文件
-cmin +10 ##修改超过10min的文件
-ctime +|-|10 ##不指定默认为查找时间为:天
##查找超过10天|不超过10天|刚好为10天修改的文件
-perm 644 ##查找指定权限(004)的文件
-perm -644 ## "-"表示“与”,ug位无要求且o为有r权限
-perm /644 ## '/'表示'或',只要o位有r权限即可
指定权限并指定查找类型:
-exec commd {} \;
##{}:表示find的输出
##exec 后加想要执行的动作
##必须是空格后加\;\表示对分号进行转义
此命令表示将查找到的权限为o为上有r权限的文件去掉o位上的r权限