Aula  ·  Linux & Terminal  /  Lección 02
02Lección 2 · La filosofía Unix

Buscar y filtrar como un pro: find, grep y tuberías

El salto de nivel. Localizarás cualquier fichero con find y locate, buscarás dentro del texto con grep, y entenderás la gran idea de Linux: encadenar comandos pequeños con tuberías | y filtros (sort, uniq, awk, sed, cut) para sacar justo lo que quieres. Más la redirección a ficheros.

Progreso del trackLección 02 de 10
bash
ana@equipo:~$ cat acceso.log | grep 404 | wc -l 38 ana@equipo:~$ grep -rin "clave" . config.txt:12: clave=secreto ana@equipo:~$
▶
Vídeo de la lección. Míralo para ver todos estos comandos en acción, paso a paso y sin prisa.
Ver el vídeo →

🔍Localizar cosas: ¿dónde está ese fichero / ese programa?

Dos preguntas habituales: "¿dónde está este fichero?" y "¿dónde está instalado este programa?". Linux tiene una herramienta para cada una. La reina es find, que recorre el árbol de carpetas buscando por nombre, tamaño, fecha o lo que quieras:

▸Localizar ficheros y programas8 comandos
find . -name notas.txt
busca un fichero llamado notas.txt a partir de la carpeta actual (.) y hacia dentro.
find /etc -name "*.conf"
busca TODOS los .conf dentro de /etc. Las comillas protegen el comodín *.
find . -iname "*informe*"
-iname busca sin distinguir mayúsculas/minúsculas.
find . -type d -name backup
-type d busca solo carpetas (directories); -type f, solo ficheros.
find /var/log -mtime -1
ficheros modificados en el último día. Muy útil para "¿qué ha cambiado hoy?".
locate notas.txt
busca al instante en una base de datos de nombres (rápido, pero hay que actualizarla con sudo updatedb).
which python3
te dice la ruta exacta del programa que se ejecutaría al escribir python3.
whereis ssh
localiza el programa, su manual y su fuente de un vistazo.

which/whereis son para encontrar programas; find y locate son para encontrar tus ficheros. Empieza por find: es el más potente y el que más vas a usar. Comodín * = "cualquier cosa"; ponlo entre comillas para que lo interprete find y no el shell.

🔎Buscar DENTRO del texto: grep, tu mejor amigo

Si find busca ficheros por su nombre, grep busca dentro de los ficheros: una palabra, un patrón, lo que sea. Es probablemente el comando que más vas a usar en toda tu vida en Linux. Muestra las líneas que coinciden:

▸Buscar texto con grep7 comandos
grep error registro.log
muestra las líneas del fichero que contienen la palabra error.
grep -i error registro.log
-i ignora mayúsculas: encuentra Error, ERROR, error...
grep -n error registro.log
-n añade el número de línea de cada coincidencia.
grep -r "clave" .
-r (recursivo) busca dentro de TODOS los ficheros de la carpeta y sus subcarpetas.
grep -v info registro.log
-v INVIERTE: muestra las líneas que NO contienen info.
grep -c error registro.log
-c no muestra las líneas, solo CUÁNTAS coinciden.
grep -E "error|fallo" log
-E activa patrones (regex): aquí error O fallo.

El combo que vas a repetir mil veces: grep -rin "texto" . — busca "texto" dentro de todo (-r), sin importar mayúsculas (-i) y diciéndote la línea (-n). Con eso encuentras cualquier cosa en cualquier proyecto en segundos.

🔒

El resto de la lección está en el Laboratorio

Esto es una muestra gratuita. La lección completa (los 7 bloques restantes con sus chuletas de comandos copiables, diagramas y el resumen) está dentro, junto a tu Kali en el navegador, las máquinas, el Arsenal y el tutor Rio.

Únete para desbloquearla →