14

Mac OS X 是一个漂亮的系统,从 mach 内核到 finder 和 Spotlight,说到 Spotlight,当我只需要执行这个命令来获取所有 unix 可执行文件和仅 unix 可执行文件时,它真的让我大吃一惊:

mdfind "kMDItemKind == 'Unix Executable'"

惊人的!!!真的!!!

现在,问题是有没有人知道一个等效的 unix 或 linux 命令,它不涉及复杂的查找咒语或不返回误报(比如有人烫发他们所有的图像 rwxrwxrwx ?

4

4 回答 4

8

BeagleMetaTrackerStrigi甚至Google Desktop都是 Linux 的桌面索引器。默认情况下有什么取决于您的发行版(有些可能根本没有),并且它们都有不同的工具和界面,但前三个支持Xesam,因此xesam-tool可以提供类似mdfind- 的命令行界面。

于 2009-01-29T21:47:24.547 回答
8

在 Linux 下有 3 种方法可以解决这个问题。

1.使用定位工具

您可以使用命令locatewhichwhereis来查找与系统上的模式匹配的程序和文件。

2. 可执行文件保存在指定区域

Linux 系统上 90% 的可执行文件都安装在/usr/bin, /usr/sbin,下/bin,或者/sbin说什么可执行文件是可用的并不神秘。

3.使用查找

使用 find 定位设置了可执行位 (--x--x--x) 的文件。

% find . -executable -type f

4.使用你的包管理器

您还可以使用您的 Linux 发行版的包管理器(yum、apt 等)来找出为给定包或所有安装的包安装了哪些可执行文件。

于 2013-03-28T13:13:50.367 回答
3

并非如此,其他 UNIX 系统都没有在文件系统中内置索引器(BeOS 除外,但它不是 UNIX 系统,而且大多数情况下已经死了)。您可以locate(1)在所有 BSD 系统上使用该命令(每日脚本使用 来创建定位数据库locate.updatedb),但这只使您能够找到路径名。它不处理诸如关键字和文件类型之类的元数据。

老实说,这是 MacOS X 中最好的事情之一,请忍受它 :)

于 2009-01-26T00:17:17.760 回答
0
sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &

最好将它放在 BG 中,因为它可能需要一段时间。还可以将其聚焦到特定位置或 WD 极大地加速它:

sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor
于 2012-03-19T15:00:47.437 回答