&引用;更新的b;找到foo";vs";ls-laR>;somefile;grep foo somefile“;

&引用;更新的b;找到foo";vs";ls-laR>;somefile;grep foo somefile“;,grep,Grep,在不存在安全问题的单用户系统上,是否存在任何 使用“updatedb”和“locate”(或slocate或mlocate)的优势 而不是每晚只做“ls-laR>somefile”,然后使用 “grep短语somefile”查找文件 事实上,grep似乎比locate更灵活,因为它 允许使用正则表达式 我错过了什么 对于您的特定场景,差异不大,但是locate数据库针对快速搜索进行了优化 在多用户系统上,现代的locate替换具有各种附加的安全功能,例如,不会向其他用户透露您的私人目录中有哪些文

在不存在安全问题的单用户系统上,是否存在任何
使用“updatedb”和“locate”(或slocate或mlocate)的优势 而不是每晚只做“ls-laR>somefile”,然后使用 “grep短语somefile”查找文件

事实上,grep似乎比locate更灵活,因为它 允许使用正则表达式


我错过了什么

对于您的特定场景,差异不大,但是
locate
数据库针对快速搜索进行了优化


在多用户系统上,现代的
locate
替换具有各种附加的安全功能,例如,不会向其他用户透露您的私人目录中有哪些文件。

locate
也较短,除非您使用非常短的文件名而不是
somefile
(:您是说“locate”吗由于这种优化,它比grep快?这会是优势吗?是的,我就是这么说的。但是怎么做呢?某种全文索引?我不认为locate有那么复杂。事实上,mlocate.db看起来就像是一个用null分隔的文件名列表。它是.GNU
locate
用来使用
frecode>的东西
但他们似乎已经改变了这一部分。我本以为会出现某种搜索优化数据库(B+树?),但对于现代文件系统上的这个应用程序来说,这可能有点过头了?