linux查询搜索命令之whereis
说明:蓝色=命令名称
浅绿=命令参数
紫色=目录
系统环境:CentOS 6.2 i686
意外:最小化安装Centos 6.2 不带locate命令,需执行yum install mlocate 来进行安装(mlocate优点见结尾补充内容)。
命令:locate
语法:locate [参数]
常用参数:
-r 正则表达
-i 不区分大小写
-d 指定资料库的路径(可用updatedb生成数据库)
实例:
命令:updatedb
常用参数:
-o 数据库的输出路径,默认路径“/var/lib/mlocate/mlocate.db”(可通过配置文件更改)
-U 建立数据库开始的根目录,默认“/”(可通过配置文件更改)
配置文件:/etc/updatedb.conf
注解:
a) PRUNE_BIND_MOUNTS="yes"的意思是:是否进行限制搜索。
b) PRUNEFS="9p afs ........." 排除检索的文件系统类型,即列出的文件系统类型不进行检索。
c) PRUNENAMES=".git .bzr .hg .svn"表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。
d) PRUNEPATHS=" /afs /media /net /tmp ..........." 排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。
实例:
建立数据库并输出到/tmp/test 目录里:updatedb -o /tmp/test test.db
补充:
mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点:
每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快对硬盘的占用也更少。这是 mlocate 特有的功能。