Posted by q3it on martes, septiembre 12, 2023 in Linux
El comando updatedb lo que hará es recorrer todo el sistema buscando ficheros y directorios y los incluirá en una base de datos, y el comando locate lo que hará es recorrer esta base de datos buscando el patrón que nosotros le especifiquemos.
Updatedb normalmente se ejecuta una vez al día y tiene que ser ejecutado por un administrador, normalmente se pone en una tarea programada para que se ejecute a diario. Y locate lo puede ejecutar cualquier usuario su sintaxis es muy simple: locate y el patrón [fichero o directorio] y se nos mostrará en pantalla.
Si nosotros ejecutamos updatedb y la base de datos no existe se creará, si existe simplemente actualizara con los ficheros nuevos o eliminando de la base de datos los ficheros que no existen.
Luego con locate especificamos lo que nosotros queremos buscar y nos mostrará en pantalla todos los directorios en donde está el fichero llamado thonny.png, con ese patrón buscará en todo el sistema.
El comando updatedb va a leer un fichero de configuración llamado etc/updatedb.conf aquí se va a especificar los directorios en los que no hace falta buscar, si nosotros abrimos este fichero veremos que ignora varios directorios.
Además nosotros podemos excluir ciertas extensiones para los ficheros si no nos interesa que estén en la base de datos y, además podemos especificar, por ejemplo, que si nosotros estamos montando un directorio desde otro ordenador que no se busque en la base de datos dentro de los directorios montados desde otros ordenadores.
Como vemos es una alternativa, porque con locate no vamos a poder buscar por tamaños o por fechas, simplemente por nombres, pero es mucho más rápido que utilizar find, porque find tendríamos que buscar en todo el ordenador y requeriría más tiempo.