Hello 😀
Uno de los comandos que uso mucho es precisamente este: locate
Cada entorno de escritorio tiene un buscador de archivos, en KDE tenemos KFind, existen alternativas para otros entornos como puede ser CatFish, etc. Pero generalmente estoy muy liado y muchas veces me resulta más cómodo usar la misma terminal que tengo abierta, y mediante esta hacer una búsqueda de algo, a tener que abrir otra aplicación (buscador, etc) y poner el parámetro de búsqueda, y entonces buscar…
Por eso uso mucho locate, un comando que nos muestra en literalmente cuestión de segundos todos los resultados que coinciden con nuestra búsqueda.
La principal ventaja que locate ofrece sobre otra cualquier opción, es que es instantáneo, muestra lo que estamos buscando literalmente al momento. ¿como es posible esto? simple… sucede que en nuestro sistema tenemos un índice de todo (o casi todo) lo que tenemos almacenado en él, y locate lo que hace es buscar en ese índice lo que le indiquemos.
Explicado de forma más simple. Cuando buscamos algo como comúnmente hacemos, en ese momento es que se busca en el sistema (carpeta por carpeta…. archivo por archivo) lo que dijimos no? … bueno, imaginen que tengan un listado de todas las carpetas y archivos que tienen en su ordenador, y solo sea mirar en ese listado donde esta X archivo. ¿no es más simple buscar en un archivo de texto de unos pocos MBs, a buscar en TOOOOOOODO su disco duro? 😀
Pero bueno… vayamos al asunto jeje.
Digamos por ejemplo que queremos buscar todos los archivos .ODT que tenemos, abrimos una terminal y en ella escribimos lo siguiente y presionemos [Enter]:
locate -e *.odt
El -e lo pongo para especificar que busque archivos que aún existan, pues el índice con el que trabaja locate muchas veces contiene información de archivos que fueron borrados, y no tiene mucho sentido que nos muestre de resultado archivos que no existen ya no? 🙂
Igual, ahora buscare en mi laptop todo lo que contenga en el nombre «asa» … ponemos lo siguiente:
locate -e asa
¿notan la velocidad no? … impresionante 🙂
Como dato curioso, la base de datos (índice) que usa locate es: /var/lib/mlocate/mlocate.db
Y bueno esto es todo, prueben el comando y me cuentan que tal jaja.
Saludos
Un tip, con el comando updatedb se actualiza esta bd.
Justo iba a preguntar como se actualiza esa base de datos.
Genial 😀 … otra cosilla que aprendo jejejejeje.
Oye, un detalle … ¿no les gustaría escribir en el blog directamente? Sé los problemas que hay con la conexión y tal, precisamente por eso se podría configurar para que publiquen por email o algo así 😉
Muy bueno. En mi caso la base de datos no está en ese directorio ni con ese nombre, pero con un «locate locate» ya está todo arreglado: /var/lib/locatedb
HAHAHA locate locate … joder genial jaja 😀
a mi me dice
bash: locate: no se encontró la orden
trata como root, aunque no debería ser así.
Puede que tengas de instalarlo.
Intenta con /usr/bin/locate asd a ver lo que te dice 🙂 … de no funcionarte, revisa que tengas el paquete mlocate instalado, cosa rara… pues he usado Ubuntu, Debian y Arch y en todas está instalado por defecto este comando.
después de reinstalar
[david@arch ~]$ usr/bin/locate asd
bash: usr/bin/locate: No existe el fichero o el directorio
[david@arch ~]$ locate locate
locate: no se pudo realizar stat () `/var/lib/mlocate/mlocate.db’: No existe el fichero o el directorio
Excelente comando, no lo conocía, y si la velocidad es impresionante!! y un
man locate
ya me explica el resto, muchas graciasDe nada, un placer 😀
Hmm… mejor que find? habría que hacer una prueba de velocidad o.O
En mi caso podría hacer las mismas búsquedas, pero así:
$ find /home/usuario -iname «*.odt»
$ find /home/usuario -iname «*asa*»
Si quisiera encontrar ciertos archivos y saber su tamaño:
$ find -iname «*.iso» -exec du -h {} \;
Aunque, de hecho, hasta con ls hago búsquedas dentro del directorio actual, eso si sé donde puede estar hubicado el archivo:
omega@mega-laptop ~/Imágenes $ ls *.png
Ups, disculpen, se me negreo mas de la cuenta 😐
Nah no te preocupes, si quieres lo arreglo 🙂
Find hace la búsqueda en el momento que lo ejecutas, mientras que locate ya hizo la búsqueda y generó un listado hace tiempo atrás … y cuando lo ejecutas lo que hace es buscar eso que estableciste como parámetro en un archivo de pocos MBs o KBs 😀
Ah, gracias por la 😉 comparación. Jeje, algo tarde en responder pero el trabajo me tiene ocupado 🙂
Diciéndolo así me recuerda al «index server» de windows al momento de acelerar las búsquedas.
Esto a mí lo que me recuerda es a las búsquedas del escritorio semántico de KDE (Nepomuk específicamente) 😀
Interesante, soy mas del tipo gnome así que no sabia eso de kde :O
alguien me ayuda..he intentado actualizar y me sale updatedb: no se puede abrir un archivo temporal para `/var/lib/mlocate/mlocate.db’
Por otro lado he usado el locate locate (me encantó) y si me ubica el archivo arriba…
¿qué harían en mi lugar? por favor en un idioma para principiantes…y espero esto siga actualizándose