find
所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索
find /etc -name init
(精确寻找)
使用通配符*,就可以查找只要文件名里面包含init的文件
find /etc -name inti*
寻找文件名以init开头的文件
find /etc -name *init
寻找文件名已init结束的文件
find /etc -name *init*
寻找文件名中包含init
?:表示匹配单个字符
find /etc -name ?init
表示寻找文件第一个字符为任意字符以init结尾的文件
在windows不区分大小写,linux严格区别大小写,如果想不区分大小写,可以用以下命令:
-iname
find /etc -iname *init*
寻找大小写都为init的文件
-size:大小查找
find /etc -size +204800
(在根目录下面查找大于100M的文件)
(size后面可以跟着 +、-和默认,+表示大于,-表示小于,默认表示等于。单位为数据块,一个数据块512个字节,0.5k,100M=102400KB=204800)
在根目下查找所有者为hpy的文件
find /home -user hpy
-group 根据所属组查找
在/etc 下查找5分钟内被修改过属性的文件和目录
find /etc -cmin -5
-amin 访问时间access
-cmin 文件属性 change
-mmin 文件内容 modify
-5:-表示在多少时间内,+5表示超过多少时间
find中的连接命令:
在/etc下查找大于80MB小于100MB的文件
find /etc -size +163840 -a -size -204800
-a 两个条件同时满足
-o两个条件满足任意一个即可
对搜索的结果进行执行操作,在 /etc 下查找init文件并显示其详细信息
find /etc -name init-exec ls -l {} \;
-exec/-ok+需要执行的命令+{} \;
(exec和ok的区别就是ok需要确认)
({}\;是固定的{}表示文件可能有很多个 ,\表示转义符,;表示结束)
根据文件类型查找
-type
f 文件
d 目录
l 软链接文件
find /etc -name init* -a -type f -exec ls -l {} \;
根据i节点查找
-inum
创建一个文件名为 hpy hahaha的文件
如果不加“”无法删除
用 ls -i 查找当前目录文件的的i节点
用find -inum 查找节点4610的文件并删除
find . -inum 4610 -exec rm {} \;
(服务器高峰期尽量少用搜索,搜索占的大量的系统资源,搜索范围越小越好)