在linux上找到等效的MDF?
Mac OS X是一个漂亮的系统,从mach内核到finder和spotlight,说到spotlight,当我只需要执行这个命令来获取所有unix可执行文件,而只获取unix可执行文件时,它真的让我大吃一惊:在linux上找到等效的MDF?,linux,macos,unix,find,Linux,Macos,Unix,Find,Mac OS X是一个漂亮的系统,从mach内核到finder和spotlight,说到spotlight,当我只需要执行这个命令来获取所有unix可执行文件,而只获取unix可执行文件时,它真的让我大吃一惊: mdfind "kMDItemKind == 'Unix Executable'" 太棒了!!!真的 现在,问题是是否有人知道一个等效的unix或linux命令,它不涉及复杂的查找咒语或不返回误报(例如有人允许其所有映像rwxrwx?不知道,其他unix系统都没有在文件系统中内置索引器
mdfind "kMDItemKind == 'Unix Executable'"
太棒了!!!真的
现在,问题是是否有人知道一个等效的unix或linux命令,它不涉及复杂的查找咒语或不返回误报(例如有人允许其所有映像rwxrwx?不知道,其他unix系统都没有在文件系统中内置索引器(除了BeOS,但它不是UNIX系统,而且基本上已经死了)。您可以在所有BSD系统上使用
locate(1)
命令(每日脚本使用locate.updatedb创建locate数据库)
)但这只允许您查找路径名,不处理诸如关键字和文件类型之类的元数据
老实说,这是MacOS X最棒的地方之一,请接受它:),,甚至都是Linux桌面索引器。默认情况下,这取决于您的发行版(有些可能根本没有),它们都有不同的工具和界面,但前三个支持,因此可以提供类似于mdfind
的命令行界面
sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &
最好将其放在背景中,因为这可能需要一段时间。同时,将其集中到特定位置或WD会大大加快速度:
sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor
在Linux下,有3种方法可以实现这一点 1.使用定位工具 您可以使用命令
locate
、which
和where is
查找与系统上的模式匹配的程序和文件
2.可执行文件保存在指定区域
Linux系统上90%的可执行文件安装在/usr/bin
、/usr/sbin
、/bin
、或/sbin
下,因此什么样的可执行文件可用并不神秘
3.使用find
使用find查找设置了可执行位的文件(-x--x--x)
4.使用软件包管理器
您还可以使用Linux发行版的包管理器(yum、apt等)找出为给定软件包或所有已安装软件包安装的可执行文件。这其实不是一回事,尽管
find
命令可以解决询问者的需要。Spotlight速度极快,基本上支持对整个硬盘驱动器的全文搜索。一旦你习惯了这一点,就会有没有回头路!这不是问题的答案;这些工具都不做文件内容索引。或者说是自约塞米蒂以来最糟糕的事情,现在也是在El Capitan。搜索是在.tex文件中进行的。请看抱歉,但不是,一个很大的否。首先:你要做的是搜索文件名,而不是文件内容(你可以使用[gulp]进行搜索)ls
是所有事情中最重要的一部分!)。其次,对于您所做的工作,索引文件位置,有一个工具可以更优雅、更高效地实现这一点:mlocate(1)
。
% find . -executable -type f