Linux · Sección 9

Búsqueda, texto y archivos binarios

find, locate, grep, cut, sort, uniq, sed, awk, nombres arbitrarios, firmas, hashes, codificación y análisis sin ejecutar.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Repasa rutas, comillas, tuberías y redirecciones; las usarás para conservar nombres y errores.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Búsqueda precisa con Filtros de texto y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Prepara una máquina virtual Linux con red NAT e instantáneas, o WSL para las prácticas que no requieren kernel y systemd completos.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Búsqueda precisa y Filtros de texto? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Investigarás archivos y datos por propiedades, contenido y formato, conservando nombres extraños y evitando ejecutar aquello que solo necesitas identificar.

Al terminar podrás
  • find evalúa propiedades; locate consulta un índice
  • grep, cut, sort, uniq, sed y awk tienen contratos distintos
  • Extensión, codificación, compresión y cifrado no son lo mismo
01
Selección precisa

find evalúa propiedades; locate consulta un índice

find recorre desde una ruta y combina predicados de nombre, tipo, tamaño, propietario, tiempo o permisos. Las comillas impiden que la shell expanda el patrón antes de que find lo reciba. Para actuar, valida primero la selección y usa -exec ... + o separadores nulos para nombres arbitrarios.

01

which mira ejecutables en PATH; type entiende además builtins y aliases.

02

locate puede devolver datos antiguos hasta actualizar su índice.

03

-xdev impide cruzar otros sistemas de archivos cuando es apropiado.

Comprueba lo aprendido · 01

¿Por qué debes escribir "*.log" entre comillas en find?

Mostrar respuesta +

Para que la shell no expanda el patrón usando el directorio actual; find debe recibir el asterisco y aplicarlo durante su propio recorrido.

02
Datos por etapas

grep, cut, sort, uniq, sed y awk tienen contratos distintos

grep selecciona líneas; cut extrae campos simples; sort ordena; uniq opera sobre repeticiones adyacentes; sed transforma corrientes; awk trabaja con registros, campos y cálculos. Una tubería legible usa la herramienta más pequeña que expresa cada paso y valida los delimitadores reales.

01

LC_ALL puede cambiar orden y clases de caracteres.

02

grep -F busca texto literal; grep -E usa expresiones regulares extendidas.

03

awk puede sumar y agrupar sin una cadena frágil de cortes.

Comprueba lo aprendido · 02

¿Cuándo preferirías grep -F sobre grep -E?

Mostrar respuesta +

Cuando buscas texto literal y no necesitas metacaracteres; evita interpretar accidentalmente puntos, corchetes u otros símbolos como una expresión regular.

03
Formato antes de ejecución

Extensión, codificación, compresión y cifrado no son lo mismo

file inspecciona firmas y contenido; xxd representa bytes; strings extrae secuencias imprimibles. Base64 convierte datos binarios en texto transportable, pero no ofrece secreto. Un hash permite comparar integridad, no recuperar contenido ni demostrar por sí solo quién lo creó.

01

No ejecutes un archivo desconocido para identificarlo.

02

Una extensión puede ser falsa o faltar.

03

Extrae archivos no confiables dentro de un directorio aislado y revisa rutas.

Comprueba lo aprendido · 03

¿Por qué Base64 no protege una contraseña?

Mostrar respuesta +

Porque es una codificación reversible sin clave; cualquiera puede decodificarla inmediatamente.

Resumen de la sección

Tu recorrido en tres ideas

  1. find evalúa propiedades; locate consulta un índice
  2. grep, cut, sort, uniq, sed y awk tienen contratos distintos
  3. Extensión, codificación, compresión y cifrado no son lo mismo
PROFUNDIZACIÓN / LABORATORIO GUIADO

Audita una colección de archivos hostiles

Relaciona búsqueda por metadatos, nombres arbitrarios, tipo real, tuberías y resultados estructurados.

CASO

Una carpeta contiene miles de archivos con espacios, guiones, extensiones falsas, duplicados y tamaños extremos.

Procedimiento

  1. Crea un inventario nulo-seguro con ruta, tamaño, tipo y hash.
  2. Agrupa formatos y detecta duplicados sin ejecutar contenido.
  3. Prueba archivos vacíos, nombres con salto, permisos denegados y enlace roto.

Evidencia mínima

  • Conteos por tipo y tamaño.
  • Ningún nombre se divide accidentalmente.
  • Registro de errores separado del informe.
Mostrar razonamiento modelo +

find selecciona y entrega rutas sin ambigüedad; stat y file describen; sha256sum compara contenido. Los errores se conservan y la colección nunca se ejecuta.

Para ir más lejos

¿Cómo harías incremental el inventario sin confiar solo en la fecha de modificación?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Dejar que la shell expanda el patrón destinado a find.

ERROR 02

Iterar sobre la salida de ls o find separándola por espacios.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Genera un informe de archivos por tipo y tamaño que soporte espacios, guiones y comodines en los nombres.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Usa -exec o separadores nulos.
  • Identifica formato sin ejecutar muestras.
  • Cada etapa de filtrado tiene entrada y salida comprobables.