《Linux系统学习心得》——Locate命令不能搜索到存在的文件

Locate命令不能搜索到存在的文件

最近初学Linux系统,在学到文件搜索命令时,发现locate命令不能搜索到系统中的确存在的文件。

如图,在/tmp目录下新建test.cfg文件
《Linux系统学习心得》——Locate命令不能搜索到存在的文件_第1张图片
使用locate命令搜索

locate test.cfg

《Linux系统学习心得》——Locate命令不能搜索到存在的文件_第2张图片
显示搜索不到,使用updatedb命令进行搜索数据库更新

updatedb

《Linux系统学习心得》——Locate命令不能搜索到存在的文件_第3张图片
查阅资料发现,locate的搜索是根据数据库进行搜索的,其数据库位于

/var/lib/mlocate

但即使使用updatedb对数据库进行强制更新,locate仍不能搜索到部分目录下确切存在的文件,使用vi编辑器打开如下文件,发现

vi /etc/updatedb.conf

《Linux系统学习心得》——Locate命令不能搜索到存在的文件_第4张图片
其中,

  1. PRUNE_BIND_MOUNTS=”yes” 表示开启搜索限制
  2. PRUNEFS= … 表示搜索时,不搜索的文件系统
  3. PRUNENAMES = … 表示不搜索的文件类型
  4. PRUNEPATHS = … 表示不搜索的路径

发现/tmp在不搜索的路径中,这也就是为什么使用updatedb之后仍不能搜索到test.cfg的原因。

你可能感兴趣的:(Linux系统学习心得)