Buscar archivos en Linux

Brandon M. · 12 de junio de 2026

Intro

Si estas aprendiendo sobre Linux tarde o temprano te vas a topar con la necesidad de busca run archivo en especifico, si tienes acceso a una UI, pues directamente vas a la barra de búsqueda y pues escribes y buscas, pero no todo es UI generalmente Linux lo vas a usar mas en su lado sin UI eda? bueno generalmente así es en la chamba pero cada quien xd.

Entonces en esos casos como le haces para buscar? pues tenemos varias opciones, todas igual de validas pero con una que otra consideración (en algunos casos) y ojo probablemente ni si quiera voy a listar todas las opciones van a ser las que y uso.

Eso si, algo claro con Linux es que todos los comandos tienes su variantes por ejemplo algo tan sencillo como ver la RAM puede tener sus variantes, útiles si, pero pues es tedioso, el chiste de todo esto no es que aprendas toda la sintaxis ni nada de eso, si no agarrarlo como un tipo de mataburros para tenerlo de consulta rápida sin tener que gastar 1000 litros de agua con IA.

find

En fin, empezando por el prácticamente global, el find, que traducido es literal encuentra, es sencillo de usar pero a veces pues ser medio raro su sintaxis, algo a considerar de find es que busca en tiempo real es decir carpeta por carpeta, en fin amos a darle.

find -> búsqueda exacta.

bash
find /ruta/a/buscar -name "archivo_nombre.txt"

Bambi, ojito con Cabo Verde este mundial, este comando hace una búsqueda exacta tal cual lo que pones entre las comillas es lo que el sistema va a buscar así con mayúsculas y minúsculas.

Desglosando la sintaxis te darás cuenta es sencilla:

  • /ruta/a/buscar -> es la ruta desde donde va a buscar, busca desde esa carpeta y todas las subcarpetas.
  • -name -> parámetro que le indica que viene el nombre del archivo a buscar.
  • "archivo_nombre.txt" -> Es el nombre del archivo y va entre comillas.

find -> sin considerar mayúsculas o minúsculas

Acá matos tres pájaros de un tiro, primero como hacerle para buscar sin considerar minúsculas o mayúsculas, que pasa si no pandamos la ruta? y el parámetro *.

bash
find . -iname "*.pdf"

Vamos desglosándolo, primero si no manamos ruta el comando va a buscar a partir del directorio en donde nos encontramos, para lo demás:

  • . -> ese punto que eda? en si no siempre ese necesario mandarlo, pero significa busca en este directorio que me encuentro.
  • -iname -> acá la diferencia es la "i", que en si es un parámetro que le dice no importa las mayúsculas o minúsculas.
  • ".pdf" -> El "*" funciona exactamente como funciona en el LIKE de SQL.

find -> con búsqueda de archivos modificados en n cantidad de tiempo

Este es bien útil y en si sirve pa eso, te permite buscar archivos con find que se hayan modificado en "n" cantidad de tiempo, su sintaxis es sencilla.

bash
find -mtime -2

Vamo desglosando:

  • -mtime -> Significa a "Modification time" que traducido es tiempo de modificación.
  • -2 -> aquí va el tiempo en si que vamos poner en cantidad de días, en este caso se traduce a "Archivos modificados en menos de 2 días" es decir en las ultimas 48 horas.
    • Acá ojo por que podemos poner "-n", "+n" o "n" simplemente, siendo el menos a menos de "n" días, el más a más de "n" días y sin signo a exactamente "n" días.

Ojito acá puse el de mtime por que es el mas sencillito pero también tenemos el mmin que se usa con segundos y aparte podemos filtrar por que se modifico, les dejo esta tabla para que lo tomen en cuenta:

Tabla de variantes de time y min para find.
Tabla de variantes de time y min para find.

find -> filtrar carpetas o archivos.

Bambi, oye y pa buscar carpetas? easy money bro, en realidad ya buscas carpetas, para find le da igual si tiene coincidencias te lo va a regresar, ahora si solo quieres buscar carpetas se pone interesting la cosa, solo tienes que poner un parámetro:

bash
find -type d -name "nombre_carpeta"

Que lo único nuevo que pasamos es el parámetro de type, en este caso tenemos type d para tipo directorio es decir carpetas pero también tenemos type f que nos sirve para archivos.

locate

Este es el rápido el veliz, el fa el carro rojo con rallo del Nascar, pero con una trampa, no busca en si en tiempo real carpeta por carpeta, si no que busca en base a una base de datos que se va actualiza de forma automática, pero que te permite actualizar de forma manual.

Su sintaxis esta papa:

bash
locate nombre_archivo

locate -> actualizar su BD

Literal solo le pasas el nombre del archivo y listones esta chulo, solo que recordemos este no es una búsqueda ne tiempo real directorio por directorio, es mas enfocado a una BD, entonces esta BD se actualiza solita cada n cantidad de tiempo, sin embargo podemos actualizarla de forma manual mediante:

bash
sudo updatedb

locate -> filtrar solo carpetas

Al = que find, locate va a buscar ambos carpetas y archivos al mismo tiempo si queremos buscar una carpeta en especifico existe un truco Mejico Magico que te permite buscarlo, mediante:

bash
locate proyectos/

fd

Find es el default, locate el carro rojo de NASCAR con rayo amarillo xdxdxd, y tenemos el fd que en mi opinión es como el mas amigable, el mas pet friendly

fd -> búsqueda rápida

su sintaxis mas común es igual de las mas sencillas, va y busca directamente sobre el directorio que te encuentras de esta forma:

bash
fd nombre_archivo

Algo super padrecito santo Diosito ven por mi, es que es case insensitive es decir no importa si esta en mayúsculas o minúsculas solo le interesan los caracteres y va a buscar coincidencias con ello.

fd -> filtrar carpetas o archivos.

Algo chido es que al igual que teneos con find podemos filtrar directamente solo por carpeta so archivos y de una forma muy similar, para carpetas:

bash
fd -t d nombre_carpeta

Para archivos:

bash
fd -t f nombre_carpeta

Si te das cuenta, pues es literal lo mismo a lo que usamos en find pero abreviado,

  • -t d, siendo d -> directories -> directorios
  • -t f, siendo f -> files -> archivos

fd -> filtrar por extensión

Algo que nos permite también fd es filtrar por extensión y es bastante sencillo:

bash
fd -e nombre_extensión

esto es bastante útil si por ejemplo intentamos filtrar solo archivos md quedando así:

bash
fd -e md

fd -> Buscar archivos ocultos

Al contrario de find, fd no te enlista los archivos ocultos como el .git pero si quieres buscar ocultos solo basta con usar:

bash
fd -H nombre_archivo

Siendo h de Hidden traducido a oculto.

Conclusión

Depende de gusto yo uso mucho find por que me acostumbre a ese pero en sí pues tienes incluso más opciones ya tu decides pa, todo sirve al final.