whereis和locate是否搜寻的是同一个文件数据库?

PIGer920 2011-06-02 01:43:04
看鸟哥的书,如果我理解没问题的话,他们搜寻的应该是同一文件数据库

但是我在新建一个文件,然后updatedb之后搜寻。却发现locate可以正常找到,而whereis却找不到。为什么呢 见下图

另外请教下
在下图中,我在未更新db之前,用whereis searTest命令的下一行为啥有个反斜杆?代表什么意思?而第二次搜的时候就没有
...全文
167 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只小鹌鹑 2012-09-19
  • 打赏
  • 举报
回复
这是whereis的搜索路径
一只小鹌鹑 2012-09-19
  • 打赏
  • 举报
回复

FILES
/{bin,sbin,etc}

/usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,
X386,TeX,g++-include}

/usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs}
freetstar 2011-06-02
  • 打赏
  • 举报
回复
whereis 可以用来找二进制文件,源码,和man手册,故可以推测回到path,lib,man手册中找

locate应该是有自己的一套索引机制,最好的方法是读源码。。
justkk 2011-06-02
  • 打赏
  • 举报
回复
感觉whereis 比 which丰富一些
whereis - locate the binary, source, and manual page files for a command
which - shows the full path of (shell) commands.

locate 的功能应该与find 差不多,它只是有一个自己的索引数据库,可以加速文件的查找
PIGer920 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 justkk 的回复:]

whereis 通常用来找命令吧

locate 没用过,应该可以用来找任何一个文件
[/Quote]
我也有点感觉whereis是主要用来找命令的 那这样岂不是和which差不多了?
那你搜寻文件一般用什么命令? 我觉得这样看来的话找文件岂不是locate和find比较靠谱了?
justkk 2011-06-02
  • 打赏
  • 举报
回复
whereis 通常用来找命令吧

locate 没用过,应该可以用来找任何一个文件
PIGer920 2011-06-02
  • 打赏
  • 举报
回复
如果不同的话,那如何区分使用locale和whereis呢?( 除去部分匹配这个不同点)
换句话说whereis到底搜寻哪里呢 不知道这个的话 使用whereis来搜索感觉不靠谱啊。。。
freetstar 2011-06-02
  • 打赏
  • 举报
回复
我说的不对,whereis不是在path中找,应该是which在path中找

昵称很不好取 2011-06-02
  • 打赏
  • 举报
回复
whereis只在特定的目录寻找
freetstar 2011-06-02
  • 打赏
  • 举报
回复
我觉得不是一个。locale应该是独立的一个,whreis应该是在path里找

第2个话确实很有可能是自己稍微的哦
justkk 2011-06-02
  • 打赏
  • 举报
回复
应该不是一个数据库吧
locate 应该使用了自己的数据,需要updatedb更新


"用whereis searTest命令的下一行为啥有个反斜杆"
不会是你敲回车的时候,把它上面的那个键也捎带按了吧?

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧