Linux命令--文件搜索命令find

时间:2022-10-25 14:43:26


find

所在路径:/bin/find

执行权限:所有用户

语法:find   [搜索范围] [匹配条件]

功能描述:文件搜索


在目录/etc中查找文件名为init的文件

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需要确认)

({}\;是固定的{}表示文件可能有很多个 ,\表示转义符,;表示结束)

Linux命令--文件搜索命令find


根据文件类型查找

-type 

f 文件

d 目录

l 软链接文件

find /etc -name init* -a -type f -exec ls -l {} \;

Linux命令--文件搜索命令find


根据i节点查找

-inum

创建一个文件名为 hpy hahaha的文件

如果不加“”无法删除

用 ls -i  查找当前目录文件的的i节点

用find  -inum 查找节点4610的文件并删除

find . -inum  4610  -exec rm {} \;

Linux命令--文件搜索命令find


(服务器高峰期尽量少用搜索,搜索占的大量的系统资源,搜索范围越小越好)