Linux(六) 文件搜索命令find的具体用法

文件搜索命令find

 

find 文件搜索

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

注意:匹配条件中,条件与条件之间可以用-a(两个条件同时满足时)和-o(两个条件满足任意一个)来连接

 

1.根据文件名来搜索

-name 区分大小写   -iname 不区分大小写

在/etc下搜索文件名为init的文件:find /etc -name init

 

同时我们可以使用通配符:* 来进行模糊搜索,例如:

find /etc -name *init* 搜索出文件名含有init的文件

find /etc -name init* 搜索出文件明以init为首的文件

find /etc -name *init 搜索出文件明以init结尾的文件

find /etc -name init??? 这里的?意味着具体占用的字符,该命令为搜索init后又三个字符的文件

 

2.根据文件大小来找  -size

find  /  -size  +204800  在根目录(/)下找大小为大于100MB的文件

 

注:这里的+204800意味着大于100MB,这是怎么来的?

答:这里根据文件大小来找的文件大小的单位为数据块。那么1数据块=512B=0.5KB;100MB=102400KB;1KB=2个数据块;100MB=204800数据块

 

find / -size +163840 -a -size -204800

在/下查找大于80MB小于100MB的文件

 

-a是条件连接符

 

3.根据文件所有者来找  

-user根据所有者  -group 根据所属组

find /home/china -user yanghong 查找/home/china目录下的所有者为yanghong的文件

 

find /home/china -group yanghong 查找/home/china 目录下的所有组为yanghong的文件

 

4.根据访问时间属性来查找

-amin 访问时间   -cmin 文件属性   -mmin文件内容

 

find /etc -cmin -5   在/etc下查找5分钟内被修改过文件属性的文件或目录

 

 

5.根据文件类型查找文件 -type

 

f文件  d目录  l软链接

例子如下:

 

 

 

6.对搜索结果直接执行操作

语法:find [范围] [搜索方式] [文件名] -exec/-ok 命令 {} \;

注:后面的{} \;为固定搭配必须要加上

-exec和-ok的区别在于,-exec是直接执行命令,-ok是输入代码后会对您进行一个确认后再执行操作。

例如:

find /home -name china -exec ls -ld {}\;

输入该指令后会报错,报错信息为:遗漏“-exec”的参数,原因是{}与\之间有个空格,而\和;之间没有分号

 

输入正确指令后得:

 

 

7.根据i节点查找(当文件名很复杂时) -inum

例如:find . -inum 8736

 

注:该查找方法可以在同一分区用来查找文件得硬链接文件,因为硬链接文件不能和原文件跨分区,并且i节点和原文件相同。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值