Linux 与 osx 中的“定位”

Linux 与 osx 中的“定位”

我经常使用它locate作为在系统范围内查找内容的命令。然而,我觉得很烦人的是,osx 版本的locate 似乎没有只-b匹配基本名称的选项;因此打印与查询匹配的每个文件夹的所有内容。它也没有-e选项来检查自上次更新数据库以来文件是否已被删除。

在我的 Linux 机器(Ubuntu 20.04)上,这些选项以及许多其他选项都存在。它的手册页显示日期为 2012 年 9 月,而 Mac 显示为 2006 年 8 月。

这两个程序是完全不同的程序还是同一程序的不同版本?如何更好地locate使用 Mac?

答案1

苹果电脑BSDGNU Linux正在运送不同的“定位”程序。 Locate比find有优势,优缺点我会推荐给你: 这一页。然而,Mac 上还有一些其他选项,例如:

mdfind -name file.pdf

对于 archlinux,我使用 plocate (与 mlocate 兼容)。

如何在 Mac 上获得更好的定位?

定位仅是数据库中存在的报告文件(如果我没有记错的话,它每周更新一次),您也可以对指定目录使用查找。索引是关键。

祝你好运

答案2

卡萨的回答为我指明了正确的方向:这是两个不同的项目。 Linuxlocate实际上mlocate可以安装在 Mac 上,但需要一些努力,例如有些人已经做到了,而 Mac 定位的是不同且较旧的版本。更多关于差异的信息这个答案

然而,更简单的方法是使用mdfind,它已经安装在 Mac 上(它可能是 Spotlight 背后的东西)并且遵循相同的原理,并且似乎比旧的 BSD 更好locate。这允许按照我的要求进行不区分大小写的查询和仅基名查询。

相关内容