如何监控目录/文件变化来重建索引?

如何监控目录/文件变化来重建索引?

刚刚从 Windows 7 迁移到 Ubuntu 12.04。

在Win 7下我使用“Everything”来搜索文件和目录,它可以构建索引数据库并在任何文件或目录发生更改时更新它。我已经习惯了,所以我想知道 Ubuntu 12.04 下是否有类似的东西。

现在我的解决方法是updatedb和,但每次我想搜索某些内容时都locate必须这样做。updatedb另外,结果是绝对文件路径,如果我想知道文件的详细信息怎么办?(比如说,如果我想按created_time排序结果该怎么办?)

有没有什么方法可以updatedb在我在磁盘上添加文件后自动执行?如果没有,是否有任何工具可以像“Everything”一样发挥作用?

答案1

有3个我熟悉的选择。

本教程的标题是,最好的 Linux 桌面搜索工具讨论这些和其他一些。

追踪器

安装非常简单。

$ apt-get install tracker tracker-utils

安装后,它应该自动开始索引您的驱动器。您可以查看内部,看看它在使用什么tracker-control

$ tracker-control 
Found 288 PIDs…
Found process ID 2611 for 'tracker-store'

Store:
17 Aug 2013, 11:57:51:  ✓     Store                 - Idle 

Miners:
17 Aug 2013, 11:57:51:  ✗     Applications          - Not running or is a disabled plugin
17 Aug 2013, 11:57:51:  ✗     File System           - Not running or is a disabled plugin

或者你可以使用track-stats

$ tracker-stats | head -10
Statistics:
  mfo:Action = 1
  mlo:LandmarkCategory = 15
  mto:State = 6
  mto:TransferMethod = 2
  mtp:ScanType = 6
  nao:Tag = 1
  nco:AuthorizationStatus = 3
  nco:Contact = 1
  nco:Gender = 3

您可以像这样重新配置其首选项:

$ tracker-preferences

                  追踪器首选项

您可以像这样手动启动矿工:

$ tracker-control -s
Starting miners…
  ✓ Applications
  ✓ File System

然后看看它在做什么:

$ tracker-control -F
Store:
17 Aug 2013, 12:13:29:  ✓     Store                 - Idle 

Miners:
17 Aug 2013, 12:13:29:    0%  Applications          - Initializing 
17 Aug 2013, 12:13:29:    0%  File System           - Initializing 
Press Ctrl+C to end follow of Tracker state
17 Aug 2013, 12:13:29:  ✓     Store                 - Idle 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///usr/share/applications' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///usr/share/desktop-directories' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///home/tammy/.local/share/applications' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///home/tammy/.local/share/desktop-directories' 

对磁盘上的内容建立索引后,您可以使用 GUI 或 Nautilus ( Ctrl+ f) 中的集成搜索来搜索它。它还提供了一个命令行工具tracker-search

$ tracker-search art
Results:
  file:///home/tammy/Documents/ArtEdCurriculumElemFRS.odt

更多细节:

$ tracker-search -d art
Results:
cols:3
  file:///home/tammy/Documents/ArtEdCurriculumElemFRS.odt
    application/vnd.oasis.opendocument.text
    http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument

您还可以调用 GUI 搜索工具tracker-needle

              跟踪针 SS

雷科尔

我目前没有对此进行有效的设置,但有网站截图以实际行动展示它。您还可以仔细阅读在线文档了解更多信息。

答案2

updatedb如果每次创建文件时都运行...您将产生严重的 I/O 开销,因为updatedb要解析所有系统以查找新文件/目录。也就是说,Ubuntu 可以安装多种工具来索引用户文件,使用什么工具取决于您:

它们中的大多数都包含在默认的 Ubuntu 存储库中,并且可以使用软件中心进行安装。

答案3

你在寻找类似的东西吗比格犬

相关内容