Эквивалент 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