En Windows hay un buen motor de búsqueda de archivos llamado Everything , que es (a diferencia find
) muy rápido y (a diferencia locate
) siempre devuelve resultados actualizados. AFAIK funciona al llenar una base de datos del diario NTFS (no funciona con otros sistemas de archivos).
Me pregunto si hay algo similar (no me importa la GUI; mi punto es la velocidad y la garantía actualizada) para Linux (ext3 o ext4); Busqué en Google pero no encontré nada. ¿Se puede hacer algo como esto o incluso alguien está trabajando en ello?
filesystems
search
journaling
maaartinus
fuente
fuente
Respuestas:
Puede echar un vistazo a rlocate , una reimplementación de ubicación que siempre está actualizada. Otro proyecto interesante es el recoll, que también admite la indexación en tiempo real y le permite (como beagle) realizar búsquedas de texto completo. Finalmente, debo mencionar doodle que también admite indexación en tiempo real. Para el garabato, hay algunas interfaces agradables como el bagre .
Tenga en cuenta que también puede hacer que (r) busque resultados en los que se puede hacer clic usando, por ejemplo, urxvt como terminal-emulador y escribiendo algo como
(y ejecutar
xrdb -load ~/.Xdefaults
después)fuente
rlocate
ya hace una respuesta completa.Show in File Manager
20 veces../configure
me dicen que debo "instalar el paquete con las fuentes completas del kernel". Esta herramienta parece estar fuera del alcance de los no gurús.También estaba buscando la herramienta "Buscar todo" para Linux y descubrí "Buscar mono" en el repositorio de Ubuntu. ¡QUIÉRALO!
Es liviano, se carga rápidamente, las búsquedas con comodines producen toneladas de resultados al instante, además tiene filtros y métodos de búsqueda avanzados.
¡Ahora tengo mi herramienta de búsqueda "Todo" para Linux!
fuente
Una idea interesante para implementar esto enraizado en el sistema de archivos, pero nada de eso existe a mi entender. Además de algunos complementos que intentan excavar lo suficientemente profundo en las capas superiores de fs para obtener una retención temprana de los datos (Actualización: todo cae dentro de esta categoría), me temo que estás limitado a los procesos menos satisfactorios de indexación regular.
Lo que podría estar más cerca de lo que está buscando podría ser el sistema de archivos virtual libferris.
En el mundo de la indexación, es posible que desee echar un vistazo , que al menos puede actualizar y agregar su índice.
Actualización: Acabo de leer las cosas sobre "Todo", y tampoco parece ser inherente al FS, por lo que libferris no está tan lejos, además también permite indexar contenido, no solo nombres de archivos. Satisface su necesidad de estar actualizado en todo momento.
fuente
Puede usar el
locate
comando y, si desea actualizar su base de datos, ejecute el siguiente comando:Este comando actualiza la base de datos de localización en unos segundos
fuente
¿Has comprobado Angry Search ? Afirma en su descripción que es como todo. FSearch también afirma lo mismo.
fuente
Debería ser posible construir algo como esto en unas pocas líneas de código usando inotify (también está el paquete inotify-tools que le permitiría implementar esto usando scripts de shell).
(Me sorprendería mucho que cualquier herramienta de este tipo sea impulsada desde el diario, lo más probable es que se implemente en el nivel del sistema de archivos virtual)
fuente
inotify
podría ser útil aquí, ya que no es recursivo. Crear relojes para todo el árbol es simple, pero ¿puede el núcleo manejar muchas decenas de miles de ellos? Incluso si puede, esto no me parece una forma efectiva.Es posible que desee probar beagle . Lamentablemente, http://www.beagle-project.org ahora es dominio estacionado - wikipedia.
fuente
btrfs
ha implementado elfind-new
comando contra subvolúmenes durante años. Si mantiene un árbol de instantáneas relativamente actualizado, se puede usar para ver atómicamente un sistema de archivos para todos los cambios con poco alboroto.Lo usarías como:
Puede obtener el gen-id que necesita para compararlo con el mismo comando, pero utilizando un gen-id falso. Hay más información aquí .
fuente
Interfaz de usuario de la interfaz de usuario para el comando de localización que funciona casi igual que Everything:
https://github.com/AlexTuduran/Locator/releases
fuente
locate
nunca se actualiza automáticamente.locate
usa el mismo principio, excepto que la base de datos no se actualiza automáticamente . Ellocate
paquete incluye unacron
tarea que actualiza automáticamente la base de datos.Estoy usando Angry Search en un Raspberry Pi 3 B + con Stretch y funciona bien. Es realmente bastante rápido al igual que Buscar todo en Windows. Es muy agradable poder encontrar archivos tan rápido.
fuente