1. locate find 出来很多结果, whereis find 只有下面的
find: /usr/bin/find /usr/bin/X11/find /usr/share/man/man1/find.1.gz
所以whereis关注binary,man,source file较多
2. locate bwengine.tra 会得到想要的结果, whereis bwengine.tra 什么结果也没有
3. whereis在ubuntu上弱势很多,最多查找在PATH里面的可执行文件,或者man路劲的文件。
4. locate使用的数据库文件在 /var/lib/mlocate/mlocate.db(当前我只看到这一个文件,5M大小了)
/etc/updatedb.conf 控制了locate的数据库的更新,centos 5.x 默认每天更新一次,所以可能看到旧的被删除的文件,也可能看不到最新创建的文件。
需要的话,可以手动执行 updatedb ,这样/etc/updatedb.conf会被参考用来更新locate的数据库。
5. type -a updatedb
updatedb is /usr/bin/updatedb
6. 可以说locate的数据库保存了系统所有文件的信息.所以查询效率相当快。因此可以把他当做linux世界的everything了!唯一区别只是数据库更新时间了。
7. 下面的函数则可以当做linux世界的filelocatorpro了:
alias fr='func_frahk(){ cd "$ahk";ag -i "$@" *;};func_frahk $@'
使用ag,ack,grep查找指定目录及其子目录下文件内容符合用户输入的文件,mobaxterm下测试比filelocatorpro还要快。
8. locate 语法支持 -i 忽略大小写 , -r 正则表达式的匹配模式(所以终于知道我刚才使用通配符会没有结果的原因了,使用正则表达式啊!)
locate -r click.*log 可以返回结果了!
9. whereis 支持参数: -b binary file , -s source file , -m man file, -u other usual files