其实很早就想把linux下的查询命令仔细的看一下用法,包括whereis , which, find, locate, grep.
今天我们单讲locate。
本来以为,locate是一个系统自带的命令,就像我们常用的cd,ls, mkdir等等之类的,昨日心血来潮想locate一把,结果发现command not found,我就很费解了,怎么会没有呢,问了一下,人家告诉我,没有装。。。我就更费解了:不是系统自带的吗?
查询了下,有mlocate, rlocate, slocate,然后发现公司里面用的是slocate,被locate做了一个链接。
后来找到了http://gentoo-wiki.com/Slocate_and_Rlocate
里面讲的很多了,简单的讲,若使用slocate 就是先emerge slocate,这个时候会看到locate被连接到slocate
如果现在就用locate命令,你会得到:Could not find user database '/var/lib/slocate/slocate.db',还么有建立好文件索引的数据库,所以还不能查找,现在在输入命令:updatedb,来建立检索的数据库,这个命令需要的时间还是蛮长的,然后,你就可以使用locate命令了。
在有一个就是:slocate不能同时和rlocate存在,所以要做一个取舍了,这在上面的gentoo-wiki里面有讲