find文件查找命令
在目录结构中搜索文件,并执行指定的操作。它是实时查找,精确匹配,功能很难强大。
语法:
find[option] [查找路径] [查找条件] [处理动作]
find后面的选项可以省略,如果省略查找路径,则默认查找的为当前目录;如果省略查找条件,则默认为查找指定路径下的所有文件;如果省略处理动作,则默认为显示。
选项:
查找条件:
-name“文件名称”:按文件名称查找,这个也可以使用文件名通配,严格区分大小写
*,?,[],[^]
-iname“文件名称”:查找时不区分字符大小写
-userUserName:根据属主查找
-groupGroupName:根据属组查找
-uidUID:根据UID查找
-gidGID:根据GID查找
-nouser:查找没有属主的文件;
-nogroup:查找没有属组的文件;
组合条件:
-a:与,同时满足
-o:或,一个满足
-not|!:非,取反
-type:根据文件类型查找
f:普通文件
d:目录
b;块设备
c:字符设备
l:符号链接文件
p:命名管道
s:套接字
-size:根据文件大小查找
-size[+|-]#Unit(#范围以内的都表示符合条件)
根据时间戳查找:
以天为单位(time):
-atime [+|-]#
+:表示(#+1)天之外被访问过;
-:表示#天之内被访问过;
无符号:表示短于(#+1)>x>=#天的时间段被访问过;
-mtime
-ctime
以分钟为单位(min):
-amin[+|-]#
-mmin
-cmin
根据权限查找:
-perm[+|-]MODE(权限):
MODE:精确匹配
+MODE:任何一类用户的任何一位权限匹配即可;
常用于查找某类用户的某特定权限是否存在;
-MODE:每类用户的任何一位都匹配才满足;
举例:
-name
-iname
-a:逻辑与,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才满足
-o:逻辑或,表示只要所给的条件有一个满足时,寻找条件就算满足。
!或-not:逻辑非,表示查找不满足所给条件的文件;
-size
在/etc下查找文件长度大于1M字节的文件
在/etc下查找文件长度恰好为1k字节的文件
根据时间戳查找
在/etc下查找更改时间在3日以内的文件
在/etc下查找更改时间在3日以前的文件
查找更改时间比某个文件新但比另一个文件旧的所有文件可以使用
newest_file_name ! oldest_file_name这个格式
-perm:
查找/etc下属主可以读写执行,其它用户可以读执行的文件:
查找/etc下所有用户都可以读写执行的文件