Comando Locate con ejemplos, búsquedas exprés
En Linux en muchas ocasiones usamos comandos de búsquedas, suele ser habitual el uso del comando find pero suele ser algo lento, hay que hacer bastantes filtrados, y sobrecarga el sistema bastante. En su lugar tenemos el comando Locate, que hace búsquedas instantáneas, tiene algunas peculiaridades pero si lo conocéis lo adoráis y si no, creo que es uno de esos comandos imprescindibles en Linux.
En primer lugar hay que tener en cuenta que para realizar las búsquedas usa una base de datos, y sí como lo estáis leyendo, esa base de datos tiene toda la información y este comando la consulta a ella directamente, se encuentra en esta ruta:
/var/lib/mlocate/mlocate.db
Ahora bien la base de datos tiene información relativamente reciente, ya que se actualiza una vez al día, no obstante se puede forzar la actualización mediante un updatedb que escanea el sistema entero y actualiza el fichero de la base de datos, mlocate.db se puede modificar la configuración de las variables que usa en el fichero:
m3t4g4m3 nexolinux: ~ $ cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes" # PRUNENAMES=".git .bzr .hg .svn" PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs" PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
Este es un resumen de lo que tiene:
PRUNEFS – Lista los filesystem que no serán escaneados. Por defecto no obstante no se salva ninguno. Lee el fichero /etc/mtab
PRUNENAMES – Lista de nombres de directorios que no serán escaneados, no hace falta el path entero.
PRUNEPATHS – Lista de rutas que usan los directorios que no serán escaneados.
PRUBE_BIND_MOUNTS – puede tomar valores 0 ó 1, si es 1 los montajes «bind» (ya lo explicaremos más adelante) no son escaneados.
1- Búsqueda de un fichero simple
m3t4g4m3 nexolinux: ~ $ locate httpd.conf
/etc/httpd/conf/httpd.conf
2- Desplegar número de ficheros que se llaman igual
m3t4g4m3 nexolinux: ~ $ locate -c httpd.conf
1
3- Ignorar máyusculas con Locate
m3t4g4m3 nexolinux: ~ $ locate -i test.txt
/home/m3t4g4m3/Test.txt /home/m3t4g4m3/TEST.txt /home/m3t4g4m3/test.txt
4- Buscar un fichero borrado con locate y el nuevo
Si borramos un fichero, lo volvemos a crear, Locate también lo mostrará, lo que nos puede dar lugar a errores de interpretación
m3t4g4m3 nexolinux: ~ $ locate test.txt
/home/m3t4g4m3/test.txt
/home/m3t4g4m3/test.txt.orig (fichero borrado)
Para ello ponemos este modificador, que sólo buscará ficheros existentes:
m3t4g4m3 nexolinux: ~ $ locate -e test.txt
/home/m3t4g4m3/test.txt
Deja un comentario