10.3 - Búsqueda de archivos y contenido
¿Has perdido un archivo? ¿No recuerdas dónde guardaste algo? En Linux es súper fácil encontrar cualquier cosa.
Aprenderás 3 comandos simples:
find - Busca archivos por nombrelocate - Encuentra programas rápidamentegrep - Busca texto dentro de archivosEncuentra archivos y su contenido
find
locatelocate, luego findgrepgrep -r "palabra" .grep -r "texto que recuerdo" ~/Documentoslocate nombre_programa | grep binlocate firefox | grep binfind es como un detective que busca archivos por su nombre. Le dices "busca todas las fotos" y él las encuentra.
Imagina que perdiste una foto llamada "cumpleanos.jpg" en tu carpeta personal:
El punto . significa "la carpeta donde estoy AHORA".
Importante: find busca en esa carpeta Y en TODAS las subcarpetas (recursivamente).
También puedes usar:
• find ~ → Busca en tu carpeta personal completa
• find ~/Documentos → Busca solo en Documentos
• find / → Busca en TODO el sistema (muy lento, necesita sudo)
¿Quieres encontrar TODAS tus fotos? Usa el asterisco (*) = "cualquier cosa":
"vacaciones*" → todo lo que empiece con "vacaciones""*.mp3" → todas las canciones"*.pdf" → todos los documentos PDFEl asterisco (*) significa "no me importa qué hay aquí"
A veces solo quieres archivos (no carpetas) o viceversa:
Sin -type (busca TODO: archivos Y carpetas):
find . -name "trabajo" encuentra:
• ./trabajo.txt (archivo)
• ./trabajo/ (carpeta)
• ./Documentos/trabajo/ (otra carpeta)
Con -type f (solo archivos):
find . -type f -name "trabajo" encuentra:
• ./trabajo.txt (solo este)
¿Cuándo usarlo?
• Si buscas documentos/fotos/música → usa -type f
• Si buscas carpetas → usa -type d
• Si no estás seguro → no lo uses
-o significa "O" (OR en inglés).
Úsalo cuando quieras buscar "esto O aquello".
Ejemplo paso a paso:
1. Buscar solo JPG: find . -name "*.jpg"
2. Buscar solo PNG: find . -name "*.png"
3. Buscar JPG O PNG: find . -name "*.jpg" -o -name "*.png"
Traducción: "busca archivos .jpg O archivos .png"
find . -type f -name "*.pdf" -mtime -7
find = busca. = desde aquí (carpeta actual)-type f = solo archivos (no carpetas)-name "*.pdf" = que terminen en .pdf-mtime -7 = modificados en los últimos 7 díasPermission denied en muchas carpetas2>/dev/null al final para ocultar errores:find . -name "*.jpg" 2>/dev/null
/ (todo el sistema)~ o ~/Documentos
-iname en lugar de -name
locate es súper rápido. Encuentra programas y archivos instantáneamente.
Súper rápido: Como tener un índice de todo.
Limitación: Solo encuentra archivos de ayer o antes.
Para actualizar: sudo updatedb (hazlo 1 vez por semana)
bash: locate: command not foundsudo apt install mlocate
locate usa una base de datos que se actualiza una vez al díasudo updatedb y espera 1 minuto
grep o usa | head -10 para ver solo los primeros 10
grep busca palabras dentro de archivos. Como Ctrl+F pero para todo el sistema.
El símbolo | (pipe o tubería) conecta dos comandos.
Significa: "toma la salida del primer comando y pásala al segundo"
Ejemplo:
locate "*.pdf" | head -5
Se lee así:
1. locate "*.pdf" → encuentra TODOS los PDFs (podrían ser cientos)
2. | → pasa esos resultados a...
3. head -5 → muestra solo los primeros 5
Sin pipe: Verías cientos de resultados
Con pipe: Solo ves los primeros 5
En archivos: grep "palabra" archivo.txt
Con pipes: comando | grep "palabra"
Muy útil: Para encontrar información específica.
-i: No importa mayúsculas o minúsculas
-c: Solo cuenta las veces que aparece
-r significa "recursivo" = busca en la carpeta Y todas las subcarpetas.
Sin -r:
grep "teléfono" archivo.txt
→ Busca solo en UN archivo
Con -r:
grep -r "teléfono" ~/Documentos
→ Busca en Documentos y TODAS sus subcarpetas
⚠️ Advertencia: Puede mostrar MUCHOS resultados. Usa | head -10 para limitar.
-r: Busca en la carpeta Y todas las subcarpetas
head -3: Muestra solo los primeros 3 resultados
| head -20 o busca en una carpeta más específica
-i para ignorar mayúsculas: grep -i "palabra"
Permission denied en algunas carpetas2>/dev/null al final:grep -r "palabra" . 2>/dev/null
Vamos a practicar con situaciones reales. Sigue estos pasos:
Busca todas las imágenes JPG y PNG en tu carpeta personal:
Una lista de hasta 10 archivos de imagen con sus rutas completas
Cuenta todos tus archivos MP3:
Un número que indica cuántos archivos MP3 tienes en total
Encuentra en qué archivos guardaste tu número:
Archivos que contienen números de teléfono con el formato 555-XXXX
Encuentra todos los archivos que modificaste hoy:
Los archivos que creaste o modificaste en las últimas 24 horas
Para buscar archivos por nombre en tiempo real
find . -name "*.jpg"
Para búsquedas súper rápidas en todo el sistema
locate firefox
Para buscar texto dentro de archivos
grep -r "palabra" .
Combina estos comandos con pipes (|) para búsquedas más potentes:
find . -name "*.txt" | grep "trabajo" → Encuentra archivos .txt con "trabajo" en el nombre