Locate y find, busca archivos desde la terminal de Ubuntu

about comandos locate y find

En el siguiente artículo vamos a echar un vistazo a los comandos locate y find. Hoy en día, en Gnu/Linux podemos encontrar muchas maneras con las que buscar y ubicar archivos y directorios. Desde el entorno gráfico dispondremos de diferentes herramientas con las que obtener resultados de manera eficiente.

Pero en este caso, si eres usuario de terminal, posiblemente no quieras tener que salir de la comodidad de esta para poder localizar aquello que estás buscando. Es por esto que, sobre todo si acabas de llegar a Gnu/Linux, puede que no conozcas todavía la forma más rápida y sencilla de encontrar tus archivos y carpetas desde la terminal. En las siguientes líneas vamos a ver unos pocos ejemplos rápidos con los que llevar a cabo esta tarea.

Busca archivos desde la terminal con locate y find

Comando locate

El comando locate es posiblemente el primer recurso que debe utilizar un usuario porque es mucho más rápido que cualquier otra opción. La razón de esta velocidad es que este comando no está realmente buscando en nuestro disco duro local los archivos o directorios que necesitemos encontrar. Esta búsqueda la realiza como lecturas a través del archivo de base de datos mlocate.db, que contiene todas las rutas de archivos en nuestro sistema.

En caso de que no tengas disponible esta herramienta en tu sistema Ubuntu, vas a poder instalarla desde una terminal (Ctrl+Alt+T) escribiendo en ella:

sudo apt install locate

Preparando el comando locate

Antes de empezar debemos preparar el comando locate para el primer uso. Debemos actualizar la base de datos mlocate.db ejecutando en la terminal (Ctrl+Alt+T):

sudo updatedb

Ahora para usar locate, desde la terminal solo tendremos que escribir el comando seguido del nombre del archivo que estamos buscando. En este ejemplo, estoy buscando archivos que contengan la palabra ‘ubunlog‘ en su nombre:

locate ubunlog

locate ubunlog

Dado que locate lee un archivo de base de datos, los resultados pueden estar desactualizados. Esto podemos solucionarlo actualizando su base de datos de rutas de archivos, como hicimos con el primer comando que usamos antes de buscar.

Para más información acerca de esta herramienta, podemos recurrir a la ayuda escribiendo en la terminal:

ayuda comando locate

locate -h

O también podemos utilizar las páginas de manual:

man locate

man locate

Comando find

about FD
Artículo relacionado:
Fd, una alternativa al comando find, simple, rápida y fácil de usar

El find es una utilidad de búsqueda mucho más poderosa pero también más lenta. Esto se debe a que realmente busca en nuestros discos los archivos y directorios. Es perfecta para cuando intentas localizar un archivo o un directorio pero no puedes recordar su nombre exacto.

Find puede buscar archivos que pertenecen a un determinado usuario o grupo de usuarios, archivos que fueron modificados o los que accedimos recientemente, archivos de un rango de tamaño específico, archivos ocultos, etc.

Si nos resulta posible, lo primero que debemos hacer al ejecutarlo es indicar que busque en un directorio específico. Esto acelerará el proceso de búsqueda, dependiendo del tamaño del directorio. Si sabes dónde puede estar el archivo, abre la terminal (Ctrl+Alt+T) y dirígete al directorio para ejecutar:

find . [nombre-archivo]

El punto le dice a find que busque en el directorio actual. Si quieres buscar en tu directorio home, reemplaza el punto con ‘~/‘. Si lo que quieres es buscar en todo su sistema de archivos, utiliza ‘/‘.

Algunos ejemplos

Digamos que queremos buscar un archivo en el directorio de documentos. Sabemos que el nombre del archivo contiene la palabra ‘php‘, pero no recordamos exactamente el nombre. Lo primero que habrá que hacer es navegar a la carpeta de documentos y después escribir el comando:

find name

find . -name "*php*"

Esto nos dirá en este caso que hay un archivo pdf llamado ‘poo-php‘ en la carpeta Documentos. Ahora, si reemplazamos el parámetro ‘-name’ con ‘-iname’, podría obtener resultados sin tener en cuenta las letras exactas. Eso es algo que no encontraremos en locate.

comando find con iname

find . -iname "*php*"

Si lo único que recordamos es que el archivo tiene menos de 5 MB de tamaño. El comando a utilizar sería:

find . -size -5M

En caso de saber que pesa más de 3MB, el comando a utilizar sería:

find . -size +3M

Find admite operadores booleanos para hacer que la búsqueda sea más exacta. Para este ejemplo, utilizaré un comando que combina los datos anteriores. Que el archivo tiene menos de 5 MB de tamaño y más de 3:

sudo find / -size -5M -and -size +3M

En caso de que lo único que sepamos es que accedimos al archivo hace cinco minutos, el comando a utilizar será:

sudo find ~/ -amin -5

Para obtener más información sobre find, abre una terminal y escribe:

man find

man find

Estos son solo unos ejemplos básicos de cómo localizar archivos desde la terminal. Para obtener más información, no dejes de ver las páginas de manual de cada uno de ellos.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.