linux下locate指令为什么不能找到确实存在的文件

发布网友 发布时间:2022-04-23 03:52

我来回答

2个回答

懂视网 时间:2022-05-02 23:15

updatedb命令检索不全

执行updatedb命令,用于立刻更新locate命令所必需的数据库文件,但有些文件可能会在检索过程中被过滤掉。

有时候明明存在的文件,用find命令都能搜得出来,但用locate命令就是搜不到,即使我们刚刚执行了updatedb命令。

命令updatedb -v可以显示检索到的所有文件,发现我们要查到的文件并不在检索列表里。

 

问题出在updatedb的配置文件/etc/updatedb.conf上

技术图片

 

PRUNE_BIND_MOUNTS="yes"

是否进行搜索

PRUNEFS

过滤掉文件系统类型

PRUNENAMES

过滤掉指定后缀的文件

PRUNEPATHS

过滤到指定目录

 

我把它的两个默认设置注释掉了,并设置为:不过滤任何后缀文件,不过滤任何目录。改完配置再次updatedb,立即生效

 

locate-updatedb命令检索不全

标签:bin   body   执行   生效   库文件   cal   alt   100%   搜索   

热心网友 时间:2022-05-02 20:23

这与locate命令的工作原理有关。他是通过查询数据库的方式查找文件的。并且数据库每天更新一次。你要找的文件可能没有更新到数据库中。可以有两种选择,第一,过一天后再查看一下,应该就会找到了。第二,执行updatedb命令立即更新数据库,那么你也可以找到。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com