文件在“ locate”命令中显示,但不存在。为什么?


14

我有一个奇怪的问题。
我目前正在Backtrack 5(基于Ubuntu)上修复Flash安装。我确实需要使Flash正常工作,因此我在Google上进行了查找。在某块板上,一个人说,在此发行版(最终基于Debian)上,flash安装在iceweasel-flashplugin中,因此我们需要更改从iceweasel到firefox的路径。(或者不确定,Firefox不能在那儿寻找插件)。

但是奇怪的部分来了。使用locate命令时,我可以找到一些文件及其路径。在此确切路径上尝试使用cat命令将得到“没有文件或目录”,即使使用ls -la也不会出现任何结果。我只有两个以i开头的文件。

有人知道为什么会这样吗?并有一种方法可以解决此Flash安装问题吗?
提前非常感谢您。
外壳截图

Answers:


15

locate使用名为的数据库locatedb。通常由系统cron作业更新。如果数据库尚未更新,它将显示不存在或新的文件/目录。您可以使用updatedb命令强制进行更新。参见其他链接

的帮助页locate明确说-

   locate  reads  one or more databases prepared by updatedb and writes
   file names matching at least one of the PATTERNs  to  standard  output,
   one per line.

   By default, locate does not check whether files found in database still
   exist;  locate  can  never  report  files created after the most recent
   update of the relevant database.

资源


好吧,我应该遵守规则。RTFM!谢谢你的解释。
PatrickCUDO 2012年

4

查找基于数据库,该数据库通常每天通过cron更新一次。强制更新:运行updatedb,您locate iceweasel将返回最新结果。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.