Respuestas:
find
búsquedas en el sistema real. Es más lento pero siempre actualizado y tiene más opciones (tamaño, tiempo de modificación, ...)
locate
usa una base de datos previamente construida (comando updatedb
). Es mucho más rápido, pero utiliza una base de datos 'más antigua' y busca solo nombres o partes de ellos.
En cualquier caso, man find
y man locate
te ayudará más.
updatedb
hacer más o menos como la calle detrás find / -type f | gzip > locate.gz
.
Tanto las locate
y find
los comandos encontrarán un archivo, pero funcionan de maneras muy diferentes.
locate
funcionará en modo fuera de línea:
locate
, usará esa base de datos para buscar un archivo en particular. El problema locate
es que si acaba de crear un archivo que ahora desea buscar, localizar no funcionará porque la base de datos de slocate no está actualizada. Para superar este problema, puede usar updatedb
para actualizar la base de datos de slocate . Ejecutar locate
nuevamente ahora encontrará el archivo recién creado. Por lo tanto, muchos administradores de sistemas Linux utilizan un cron
trabajo para actualizar regularmente la base de datos slocate .find
funcionará en modo en línea / "en tiempo real".
Entonces, según la naturaleza, está claro que localizar es más rápido que encontrar pero encontrar es en tiempo real.
Espero que esto ayude a aclarar la idea. Todo lo mejor. :)
Una alternativa al uso de find es el comando localizar. Este comando suele ser más rápido y puede buscar en todo el sistema de archivos con facilidad. Puede instalar el comando con apt-get:
sudo apt-get update
sudo apt-get install mlocate
La razón por la que localizar es más rápido que buscar es porque se basa en una base de datos de los archivos en el sistema de archivos. La base de datos generalmente se actualiza una vez al día con un script cron, pero puede actualizarla manualmente escribiendo:
sudo updatedb
Ejecute este comando ahora. Recuerde, la base de datos siempre debe estar actualizada si desea encontrar archivos recientemente adquiridos o creados.