locate命令

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),
这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。
为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

$ locate /etc/sh : 搜索etc目录下所有以sh开头的文件。

  
$ locate -i ~/m :搜索用户主目录下,所有以m开头的文件,并且忽略大小写。


$ locate chdrv : 寻找所有叫 chdrv 的档案


$ locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个

 

参数:

-c 或 --count 只显示匹配的个数
如:
$ locate -c *.jpg  #显示一个总数

-n <num>  最多显示num个输出
如:
$ locate -n 5 *.jpg

-i或--ignore-case 在匹配模式时忽略大小写。

$ locate -i *.gho