在ubuntu中,locate的搜索方式是在/var/lib/mlocate/mlocate.db中搜索,所以locate搜索起来速度很快。
但对于新建的文件,是不会立即在mlocate.db中更新的,所以locate无法搜索到。
如果仍然想搜索到新建文件,需要使用updatedb命令对mlocate.db进行更新。
但如果是普通用户使用updatedb命令,会出现下面的提示
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db
这是因为用户权限不够,需要我们使用 su - root命令进入到root权限下。
因为笔者是第一次进入root权限,所以在输入password后出现了下面的提示
su: Authentication failure
此时,需要使用sudo passwd root修改密码,过程如下
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
修改密码后,再使用su - root命令,输入密码后,就可以进入root权限了。
此时,在使用updatedb就可以更新mlocate.db了。