Linux文件系统是否支持快速文件搜索/索引编制?


21

我想知道为什么没有像“搜索所有内容”那样能使人们快速找到硬盘上文件的工具。只需输入一部分文件名,所有包含关键字的文件都会立即显示出来。是否有可能设计一个程序来记录数据库中某个目录中所有文件的名称,以便您可以快速在数据库中搜索文件名?


轻微的问题,但这可能有助于您更好地了解系统。通常,文件系统不直接支持文件搜索或创建索引。文件系统的工作是存储文件。搜索和索引编制由各种实用程序完成。之所以这样做,是因为更简单的文件系统=更少的错误机会,它使用户可以配置索引构建的级别以及应该将哪些区域作为目标。
珀金斯

Answers:


13

运行sudo updatedblocate [ filename or part ]
updatedb更新索引数据库。
如果要查找程序,请运行whereis [ program name ]


1
很好,但是如何在linux mint中的某些特定目录中进行定位搜索?
hvjkjdtmkgh 2012年

为此,您可以使用find命令,像这样使用它。 find [path to directory] | grep "file name or part"这将进行递归搜索,因此您只需在基本目录中搜索,它将自动在任何子目录中查找文件。
古弗兰

对于某些特定目录:locate foo | grep /home/bar/baz
Scott Severance,2012年

谢谢,但是您能举个例子吗?我是linux的新手。在Windows中,您编写D:\\ foldername \等在linux中等效的是什么?另外,此工具是否具有GUI,以便我可以直接打开文件?
hvjkjdtmkgh 2012年

locatefind没有内置GUI之类的实用程序,您可以使用第三方工具catfish。要安装该工具,您可以catfish在软件中心中搜索或运行此命令sudo apt-get install catfish。安装此程序后,您可以从Unity Dash打开程序。关于linux中的文件结构,没有C, D驱动器,所有分区都作为根目录内的目录挂载,即/(反斜杠)。因此所有内容都直接进入内部/,例如您的主目录(与Windows中的用户目录相同)位于内部/home/
Gufran 2012年

5

如果您只在寻找文件名,那就已经做好了,它被称为 locate

有关更高级的搜索,请查看跟踪器:https : //wiki.ubuntu.com/Tracker(另请参见以下问题:OS X的Spotlight的替代品有哪些?

您可以在这里找到更多选项:https : //help.ubuntu.com/community/FindingFiles


如何在特定目录中进行定位搜索?
hvjkjdtmkgh 2012年

那是另一个问题,但是您可以在这里找到答案serverfault.com/questions/313733/… :)
Nanne 2012年

但是在help.ubuntu上找到文件的链接似乎很好地描述了您的选择?
Nanne 2012年

@hvjkjdtmkgh:请参阅我对Gufran答案的评论,以了解如何搜索特定目录。
Scott Severance,2012年
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.