эквивалент mdfind на linux? - PullRequest
       39

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

11 голосов
/ 26 января 2009

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

mdfind "kMDItemKind == 'Unix Executable'"

Удивительный !!! Действительно !!!

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

Ответы [ 4 ]

8 голосов
/ 28 марта 2013

В 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 и т. Д.), Чтобы узнать, какие исполняемые файлы установлены для данного пакета или всех установленных пакетов.

8 голосов
/ 30 января 2009

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

3 голосов
/ 26 января 2009

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

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

0 голосов
/ 19 марта 2012
sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &

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

sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...