Эквивалент mdfind на linux?

Mac OS X - прекрасная система, от ядра mach до finder и spotlight, и говоря о прожекторах, это действительно сдуло меня, когда мне просто нужно было выполнить эту команду, чтобы получить все исполняемые файлы unix и ТОЛЬКО unix executales:

mdfind "kMDItemKind == 'Unix Executable'"

Потрясающе!!! Действительно!!!

Теперь возникает вопрос, знает ли кто-нибудь об эквивалентной команде unix или linux, которая не связана с сложными находками или не возвращает ложных срабатываний (например, кто-то фиксирует все свои образы rwxrwxrwx?

Ответ 1

Beagle, MetaTracker, Strigi, и даже Google Desktop - это все настольные индексы для Linux. Что там по умолчанию зависит от вашего дистрибутива (некоторые из них могут вообще не иметь), и все они имеют разные инструменты и интерфейсы, но первые три поддерживают Xesam, поэтому xesam-tool может предоставить интерфейс командной строки mdfind.

Ответ 2

В Linux существует 3 способа сделать это.

1. используйте инструмент определения местоположения

Вы можете использовать команды locate, which и whereis для поиска программ и файлов, соответствующих шаблону в вашей системе.

2. исполняемые файлы хранятся в определенных зонах

90% исполняемых файлов в системе Linux устанавливаются в /usr/bin, /usr/sbin, /bin или /sbin, поэтому на самом деле не секрет, какие исполняемые файлы доступны.

3. использовать find

Используйте find для поиска файлов, в которых установлены исполняемые биты (-x - x - x).

% find . -executable -type f

4. используйте диспетчер пакетов

Вы также можете использовать диспетчер пакетов Linux-дистрибутивов (yum, apt и т.д.), чтобы узнать, какие исполняемые файлы установлены для данного пакета или всех установленных пакетов.

Ответ 3

На самом деле, ни одна из других UNIX-систем не имеет индексатора, встроенного в файловую систему (кроме BeOS, но это не система UNIX и в основном мертва). У вас может быть что-то не слишком далеко от команды locate(1) на всех BSD-системах (ежедневный script создать базу данных местонахождения с помощью locate.updatedb), но это только позволяет вам найти пути. Он не касается метаданных, таких как ключевые слова и типы файлов.

Честно говоря, это одна из лучших вещей среди других о MacOS X, просто жить с ней:)

Ответ 4

sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &

Лучше всего поместить это в BG, поскольку это может занять некоторое время. Также фокусируя его на определенном месте или WD, он значительно ускоряет его:

sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor