mac - mdfind equivalente en Linux?
terminal mac commands (4)
En realidad, ninguno de los otros sistemas UNIX tiene un indexador integrado en el sistema de archivos (excepto BeOS, pero no es un sistema UNIX y, en general, está muerto). Puede tener algo no muy lejano con el comando locate(1)
en todos los sistemas BSD (el script diario crea la base de datos locate.updatedb
con locate.updatedb
) pero esto solo le permite encontrar nombres de rutas. No trata con metadatos como palabras clave y tipos de archivos.
Para ser sincero, esta es una de las mejores cosas entre otras acerca de MacOS X, simplemente vive con eso :)
Mac OS X es un hermoso sistema, desde el núcleo de la máquina hasta el buscador y el reflector, y hablando de foco, realmente me dejó alucinado cuando solo necesitaba ejecutar este comando para obtener todos los ejecutables de UNIX y SOLO ejecutables de Unix:
mdfind "kMDItemKind == ''Unix Executable''"
¡¡¡Asombroso!!! ¡¡¡De Verdad!!!
Ahora, la pregunta es si alguien sabe de un comando unix o linux equivalente que no involucre conjuros complejos de hallazgos o que no devuelva falsos positivos (como alguien con todas sus imágenes rwxrwxrwx?
Beagle , MetaTracker , Strigi e incluso Google Desktop son todos indexadores de escritorio para Linux. Lo que está ahí por defecto depende de su distribución (algunos pueden no tener ninguno), y todos tienen diferentes herramientas e interfaces, pero los primeros tres son compatibles con Xesam , por lo que xesam-tool puede proporcionar una interfaz de línea de comandos similar a mdfind
.
sudo ls -Rla / | grep regexOrNameOfSomethingYouAreLookingFor &
Lo mejor es poner esto en BG, ya que puede llevar un tiempo. También enfocándolo a una ubicación específica o el WD lo acelera tremendamente:
sudo ls -Rla ~/Documents/ | grep regexOrNameOfSomethingYouAreLookingFor
Hay 3 formas de hacerlo en Linux.
1. usa una herramienta de ubicación
Puede usar los comandos locate
, which
y whereis
para buscar programas y archivos que coincidan con un patrón en su sistema.
2. los ejecutables se guardan en áreas designadas
El 90% de los archivos ejecutables en un sistema Linux están instalados en /usr/bin
, /usr/sbin
, /bin
, /sbin
por lo que no es realmente un misterio qué archivos ejecutables están disponibles.
3. use find
Utilice find para buscar archivos que tengan sus bits ejecutables establecidos (--x - x - x).
% find . -executable -type f
4. usa tu administrador de paquetes
También puede usar el administrador de paquetes de las distribuciones de Linux (yum, apt, etc.) para descubrir qué ejecutables están instalados para un paquete dado o para todos los paquetes instalados.