终端中的“定位”命令。为什么这么快?

alg*_*sig 7 command-line locate

使用该locate命令在 linux 终端中搜索关键字会在短时间内给出答案。使用的搜索算法是什么?

ani*_*uia 9

系统为计算机中的所有文件创建一个数据库。因此,当您通过locate该命令进行搜索时,该命令并没有真正检查整个文件系统,而只是检查数据库,它执行一种二进制搜索算法,其速度就像在字典中查找单词一样快。这就是它如此快速(且方便)的原因。

该数据库定期更新;当您安装新软件包时,您可能已经看到它有时会起作用:updating mlocate.... 您可以通过在终端中执行来找到有关其工作原理的更多信息:

man locate

man updatedb
Run Code Online (Sandbox Code Playgroud)