Linux 中是否有像“Everything”这样的文件搜索引擎?

maa*_*nus 59 filesystems search journaling

在 Windows 上有一个很好的文件搜索引擎,叫做Everything,它(不像find)非常快并且(不像locate)总是返回最新的结果。AFAIK 它通过从 NTFS 日志填充数据库来工作(它不适用于其他文件系统)。

我想知道 Linux(ext3 或 ext4)是否有类似的东西(我不关心 GUI;我的观点是速度和最新的保证);我用谷歌搜索但一无所获。可以做这样的事情,或者甚至有人在做吗?

stu*_*ent 38

您可能会查看rlocate,它是 locate 的重新实现,它始终是最新的。另一个有趣的项目是recoll,它也支持实时索引并允许您(如 beagle)另外进行全文搜索。最后我应该提到doodle,它也支持实时索引。对于涂鸦,有一些不错的前端,例如catfish

请注意,您还可以通过使用例如 urxvt 作为终端模拟器并编写类似的内容来使 (r)locate 结果可点击

URxvt.perl-ext: default,matcher URxvt.urlLauncher: /usr/bin/gnome-open     
URxvt.matcher.button: 1 URxvt.matcher.pattern.1: /.*
Run Code Online (Sandbox Code Playgroud)

(然后执行xrdb -load ~/.Xdefaults

  • 2017 年发生了什么?rlocate 提到了 Linux 2.6 而没有 Ubuntu 16.04 包。recoll 看起来很有趣并且更新了,尽管对于我的需要来说太过分了。自 16.04 起,doodle 具有 Ubuntu 软件包,因此可能是一个选项。 (5认同)

小智 8

我知道这个答案确实很晚了,但这可能对其他人有帮助,特别是因为到目前为止这个问题还没有真正的解决方案。

\n

Linux 内核 5.1 引入了一个名为\'fanotify\'的内核 API ,它允许递归目录监视来监视创建/删除/移动等...

\n\n

...并且有一些工具开始利用(或至少测试)。创建一个始终保持最新的搜索引擎,例如:gosearchTracker和\xc2\xa0 lolcate-rs

\n


小智 7

我还在为 linux 搜索“Search Everything”工具,并在 Ubuntu 存储库中发现了“Search Monkey”爱它!

它重量轻,加载速度快,通配符搜索可立即产生大量结果,此外它还具有过滤器和高级搜索方法。

我现在为 linux 找回了我的“一切”搜索工具!

  • 它有命令行界面吗? (2认同)

Tat*_*ser 6

在文件系统中实现这一点的有趣想法,但据我所知,不存在这样的想法。除了一些附加组件试图让自己深入到 fs 上层以尽早掌握数据(更新:一切都属于这个类别本身),恐怕你仅限于不太令人满意的过程定期索引。

可能最接近您正在寻找的可能是 libferris 虚拟文件系统。

在索引世界中,您可能想看一下ghost,它至少能够更新和附加其索引。

更新:我刚刚阅读了关于“Everything”的内容,它似乎也不是 FS 所固有的,所以 libferris 并不遥远,而且它还允许索引内容,而不仅仅是文件名。它确实满足了您始终保持最新状态的需求。

  • Ferris 邮件列表自 2007 年以来就枯竭了,并且不会持续到 2010 年之后。有一个 github 存储库在 mi-2016 和 2017 年 3 月之间不活跃 https://github.com/monkeyiq/ferris/commits/master 。也许它会继续下去。 (2认同)

小智 5

我在运行 Stretch 的 Raspberry Pi 3 B+ 上使用 Angry Search,效果很好。它真的非常快,就像在 Windows 上搜索所有内容一样。能够这么快地找到文件真是太好了。