2022-07-28 19:01:02
victorhckinthefreeworldEl comando locate de GNU
El comando locate sirve para encontrar archivos por el nombre en nuestro sistema GNU/Linux
https://victorhckinthefreeworld.files.wordpress.com/2011/10/gnu-linux-on-gris.png
El comando locatede GNU creado pro Miloslav Trmac, forma parte del paquete «GNU Find Utilities«, un conjunto de herramientas que trabajan junto con otros programas para ofrecernos herramientas muy útiles a la hora de buscar archivos en nuestros sistemas GNU/Linux.
«GNU Find Utilities» incluyen programas como:
* find – busca archivos en una jerarquía de directorios (del que ya escribí un artículo)
* locate – enumera los archivos en que se encuentran en una(s) base(s) de datos que coincidan con un patrón
* updatedb – actualizar una base de datos de nombres de archivos
* xargs – construye y ejecuta líneas de comando desde la entrada estándar
En esta ocasión vamos a ver cómo usar locatepara buscar archivos en nuestro equipo, cuyos nombres están indexados en una base de datos.
El comando locatees el comando más rápido y la manera más rápida de buscar por el nombre un archivo en nuestro sistema GNU/Linux.
Si ya tenemos instalado el programa en nuestro sistema, ya podremos empezar a usarlo. El comando locatebusca un patrón que le pasamos al ejecutarlo.
Ese patrón es el nombre (o parte del nombre) de un archivo y el comando lo que hace es buscarlo en una base de datos que mantiene y muestra los resultados por pantalla, de manera predeterminada un resultado por línea aunque eso se puede cambiar como veremos.
La base de datos en la que busca el comando se actualiza de manera diaria mediante una tarea «cron» que se instala en nuestro sistema al instalar el programa.
También podemos actualizar nosotros de manera manual la base de datos en cualquier momento ejecutando el comando updatedbY dependiendo de nuestro sistema, esa actualización puede llevar más o menos tiempo.
Esa base de datos está localizada en la ruta /var/lib/mlocate/mlocate.dbaunque podemos establecer otras rutas.
Pero vamos ya a ver cómo se usa el comando. El uso básico del comando es invocando el comando junto con un patrón de búsqueda. Imaginemos que queremos buscar en nuestro equipo un archivo que se llama hola.txt. Para ello ejecutaríamos:
locate hola
Nos mostrará todos los archivos que contengan la cadena holaen su nombre, ya que sin más parámetros busca el patrón no de manera estricta, si no como si fuera un comodín.
Así encontrará por ejemplo:
locate hola
/home/victorhck/Documentos/hola_mundo.html
/home/victorhck/Documentos/hola2.md
/home/victorhck/hola_mundo.txt
/home/victorhck/hola.txt
Eso sí, de manera predeterminada locatetiene en cuenta las mayúsculas y minúsculas, por lo que con la búsqueda anterior no mostrará por ejemplo ningún archivo HOLA.txt.
Si queremos que no tenga en cuenta mayúsculas y minúsculas deberemos ejecutar el comando con la opción -i
locate -i hola
/home/victorhck/Documentos/hola_mundo.html
/home/victorhck/Documentos/hola2.md
/home/victorhck/hola_mundo.txt
/home/victorhck/hola.txt
/home/victorhck/HOLA.txt
He dicho antes que el comando busca los nombres de archivo en una base de datos que se actualiza una vez al día o de manera manual.
Es decir que si creamos un nuevo archivo, si queremos que lo pueda encontrar, antes deberemos actualizar la base de datos como hemos visto antes.
Y quizás también se han borrado archivos desde que se actualizó la base de datos, si no queremos actualizarla y queremos que nos muestre los archivos que existen actualmente a la hora de ejecutarse el comando locatedeberemos incluir la opción -e
locate -e prueba
El comando nos muestra cada coincidencia del patrón buscado en una línea, pero podemos hacer que nos devuelva todos los resultados seguidos mediante la [...]
52 views16:01