终端中’locate’命令。 为什么这么快?
使用locate
命令在linux终端中搜索关键字可以在短时间内得到答案。 使用的搜索算法是什么?
系统会为计算机中的所有文件创建数据库。 因此,当您搜索槽时, locate
该命令并不真正检查整个文件系统而只检查数据库,它会执行二进制搜索算法,这很快就像在字典中查找单词一样。 这就是它如此快速(而且方便)的原因。
这种数据库定期更新; 你可能已经看到它有时安装一个新的包: updating mlocate...
您可以通过在终端中执行来找到有关其工作原理的更多信息:
man locate man updatedb
它使用数据库。 默认搜索的数据库位于:
/var/lib/mlocate/mlocate.db
定位的缺点是它不是实时的。
从手册页:
描述locate读取由updatedb(8)准备的一个或多个数据库,并将与至少一个PATTERN匹配的文件名写入标准输出,每行一个。