Mac OS X是一个非常漂亮的系统,从机器内核到取景器和聚光灯以及聚光灯,当我只需要执行此命令以获取所有unix可执行文件并且仅使用unix executales时,它真的让我感到震惊:
mdfind "kMDItemKind == 'Unix Executable'"
惊人!!!真的!!!
现在,问题是有没有人知道一个等效的unix或linux命令,它不涉及复杂的查找咒语或不返回误报(就像某人烫发他们所有的图像rwxrwxrwx?
答案 0 :(得分:8)
Beagle,MetaTracker,Strigi甚至Google Desktop都是Linux的桌面索引器。默认情况下取决于您的发行版(有些可能根本没有),它们都有不同的工具和界面,但前三个支持Xesam,因此xesam-tool可以提供mdfind
} -like命令行界面。
答案 1 :(得分:8)
在Linux下有三种方法可以解决这个问题。
您可以使用命令locate
,which
和whereis
查找与系统上的模式匹配的程序和文件。
Linux系统上90%的可执行文件都安装在/usr/bin
,/usr/sbin
,/bin
或/sbin
下,因此可执行文件并不是一个谜可用。
使用find查找设置了可执行位的文件(--x - x - x)。
% find . -executable -type f
您还可以使用Linux发行版的包管理器(yum,apt等)来查找为给定包或安装的所有包安装的可执行文件。
答案 2 :(得分:3)
不是真的,其他UNIX系统都没有内置文件系统的索引器(除了BeOS,但它不是UNIX系统,而且大多数都是死的)。在所有BSD系统上使用locate(1)
命令可以得到一些不太远的东西(每日脚本使用locate.updatedb
创建locate数据库)但这只能让您找到路径名。它不处理关键字和文件类型等元数据。
老实说,这是其他关于MacOS X的最好的东西之一,只是和它一起生活:)
答案 3 :(得分:0)
sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &
最好把它放在BG中,因为它可能需要一段时间。同时将它集中在一个特定的位置,或者WD可以极大地加速它:
sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor