unix 在linux上的mdfind等效项?

vqlkdk9b  于 2022-11-04  发布在  Unix
关注(0)|答案(5)|浏览(173)

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

mdfind "kMDItemKind == 'Unix Executable'"

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

uqjltbpv

uqjltbpv1#

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

vhipe2zx

vhipe2zx2#

在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等)来查找为给定的软件包或所有已安装的软件包安装了哪些可执行文件。

rjzwgtxy

rjzwgtxy3#

不太喜欢,其他UNIX系统都没有在文件系统中内置索引器(BeOS除外,但它不是UNIX系统,而且基本上是死的)。(daily脚本使用locate.updatedb创建locate数据库),但这仅使您能够查找路径名。它不处理元数据,如关键字和文件类型。
老实说,这是MacOSX最好的地方之一,接受它吧:)

fjaof16o

fjaof16o4#

sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &

最好把这个放在BG中,因为它可能需要一段时间。也可以把它集中到一个特定的位置或WD大大加快它的速度:

sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor
piok6c0g

piok6c0g5#

rga (ripgrep-all)允许搜索几十种数据格式(文本,音频和视频)并建立缓存/索引。在Linux上运行,它在大多数发行版的包管理器(apt,pacman等)中。

相关问题