Linux常用命令3 文件搜索命令

文件搜索非常占用资源,所以尽量不要使用这个命令

避免少用该命令最好的方式是设置好文件夹结构,文件不要乱放

1.文件搜索命令:find

命令名称:find

所在路径:/bin/find

执行权限:所有用户

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

功能:精准文件搜素

精准搜索:只搜索该文件名的文件,而不会搜索包含该文件名的文件

模糊搜索:搜索该文件名和包含该文件名的文件

find命令若想要使用模糊搜索则需要用*或其他通配符进行通配。?表示匹配单位字符,比如    ???inti    表示init前有三位字符,但不限制是哪个字符    inti??    表示inti后面有两个字符   

在使用搜索指定文件大小的选项时使用的值是指数据块数量,所以要注意换算

在Linux中,一个数据块是512字节,也就是0.5k,1kb2个数据块,1MB为2048个数据块

100MB为204800个数据块

要搜索大于100Mb的文件要填的值为+204800

 

这里的+-指的是大于或小于..+10并不是指未来10分钟之内被修改的文件...想想都知道不可能嘛...

而是指过去10分钟之前被修改的文件

exec表示对查询出来的文件执行操作     {}表示查询结果    \为转义符    ;表示结束

a表示and    o表示or

-ok表示询问操作    -exec表示不询问操作

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

例子:命令意译:在/etc下查找一个以init开头后面有三个字符的文件 且对它进行查看详细信息的操做

如果有一个文件的文件名字非常非常的奇特,非常难打出来,那么可以用搜索命令搭配i节点选项查找,然后对它进行删除..

有硬链接的文件的i节点是相同的,只要如果要删除的文件有硬链接,那么会出来两个文件

2.文件搜索命令:locate

命令名称:locate

所在路径:/usr/bin/locate

执行权限:所有用户

语法:locate 文件名

功能描述:在文件资料库查找文件

实例:locate inittan

locate 搜索命令比find命令快,因为该命令是在资料库中搜索,但是如果资料库没有及时更新,则容易出现无查找到文件的问题。

可以手动更新资料库:updatedb

不过/tmp下的文件是不会再资料库中有的

-i不区分大小写

猜你喜欢

转载自www.cnblogs.com/pythonlearing/p/9746206.html