# La terminal: lo mínimo que necesitas para trabajar con agentes

> La terminal es una interfaz de texto. Aprende los comandos básicos, cómo moverte entre carpetas y qué comandos borran sin papelera, para revisar a un agente.

*Tags: ia, terminal, herramientas, ux-para-ia*

---


> [!info] Definición Rápida
> **La terminal** es una interfaz de texto donde escribes comandos que el computador ejecuta, en lugar de hacer clic en botones. Es la forma en que muchas herramientas de IA para programar leen archivos, corren pruebas y hacen cambios. Saber lo mínimo te permite revisar lo que hacen antes de aceptarlo.


## ¿Qué es la terminal y por qué importa con agentes?

El tutorial de Ubuntu para principiantes la define así: "La línea de comandos de Linux es una interfaz de texto para tu computador" (traducción nuestra). Escribes una línea, el sistema responde con texto y no hay botones ni menús. El texto que aparece antes del cursor, llamado prompt, indica que el equipo está listo para recibir un comando.

Para quien diseña con IA, lo importante es que un agente como [[claude-code|Claude Code]] trabaja en ese mismo lugar. Cuando el agente lee un archivo, corre una prueba o borra algo, lo hace con comandos como los de este artículo. Si los reconoces, puedes revisar qué intentó hacer en lugar de aceptar a ciegas.

El tutorial describe Linux. La Terminal de macOS acepta los mismos comandos básicos de la tabla de abajo. En Windows existen equivalentes, pero con opciones distintas, así que comprueba una opción antes de copiarla de este artículo.

## ¿Cuáles son los comandos básicos?

| Comando | Qué hace | Ejemplo |
|---|---|---|
| `pwd` | Muestra la carpeta en la que estás | `pwd` |
| `ls` | Lista archivos y carpetas (`ls -a` incluye los ocultos) | `ls` |
| `cd` | Cambia de carpeta | `cd proyectos/sitio` |
| `mkdir` | Crea una carpeta | `mkdir prototipos` |
| `cp` | Copia un archivo | `cp logo.svg logo-v2.svg` |
| `mv` | Mueve o renombra | `mv borrador.md final.md` |
| `rm` | Borra un archivo | `rm borrador.md` |

Según el tutorial de Ubuntu:

- `cd` sin nada detrás te lleva a tu carpeta personal.
- La opción `-p` de `mkdir` crea también las carpetas intermedias que falten.
- Para la terminal, renombrar es mover un archivo de un nombre a otro, por eso `mv` sirve para ambas cosas.
- Las flechas arriba y abajo recorren el historial de comandos. Puedes recuperar uno anterior, editarlo y volver a correrlo.

Un detalle más: si el destino de `mv` ya existe, el manual de Linux indica que lo reemplaza por defecto, salvo que uses `-i` (pide confirmación) o `-n` (no sobrescribe).

## ¿Qué comandos borran sin vuelta atrás?

El tutorial de Ubuntu lo dice sin rodeos: `rm` no mueve los archivos a una carpeta de papelera, sino que los borra "totalmente, completamente e irrevocablemente" (traducción nuestra). El manual de `rm` añade un matiz: con tiempo y conocimientos técnicos a veces se recupera parte del contenido, pero no es algo con lo que puedas contar.

Tres cosas hacen más peligroso a `rm`:

- **Comodines.** El asterisco `*` significa "cero o más caracteres", así que `rm *.png` borra todos los PNG de la carpeta, incluidos los que olvidaste que estaban ahí.
- **La opción `-r`.** Hace que `rm` trabaje de forma recursiva: borra carpetas con todo su contenido.
- **La opción `-f`.** Ignora los archivos que no existen y nunca pide confirmación.

Dos opciones te protegen. `rm -i` pide confirmación antes de cada borrado, y `rm -I` pide confirmación una sola vez cuando van a borrarse más de tres archivos o cuando el borrado es recursivo.

La regla práctica: antes de aceptar un `rm`, ejecuta `ls` con exactamente el mismo patrón y revisa la lista. Si no sabes qué archivos coinciden, no lo ejecutes: pide al agente que lo explique primero. Y comprueba que lo que importa tiene copia, por ejemplo en [[git-para-disenadores|Git]].

Esto cuenta doble con agentes. La documentación de Claude Code advierte que sus checkpoints cubren los archivos que el agente edita con sus propias herramientas de archivos, pero no los que solo tocó un comando de terminal. Es decir, un `rm` ejecutado por el agente no se restaura con `/rewind`. La propia documentación aclara que los checkpoints funcionan junto a git, no en su lugar.

## ¿Cómo se usa la terminal con un agente?

Un agente ejecuta estos comandos por ti. Tu trabajo es leer tres cosas: qué comando corrió, qué respondió y si eso coincide con lo que pediste. No necesitas entender cada opción; necesitas notar cuándo algo no cuadra, como un comando que toca una carpeta distinta de la que esperabas.

La documentación de Claude Code muestra tres usos concretos de la terminal con la herramienta:

- Pasarle la salida de otro comando con una tubería, por ejemplo `cat error.log | claude -p "what's going on here"`, para que explique un registro de errores.
- Usar herramientas de línea de comandos que ya tengas, como `gh`: con `gh` instalado y con sesión iniciada, Claude puede abrir pull requests y leer comentarios de revisión.
- Detenerlo a mitad de una acción con `Esc`, que conserva lo hecho hasta ese punto y te deja redirigir.

La misma guía recomienda mirar el primer minuto de una tarea e intervenir en cuanto el agente se desvíe. Para ese hábito ayudan [[previsualizar-cambios|previsualizar cambios]] y [[debugging-con-ia|debugging con IA]]. Si un comando te resulta ilegible, pide una explicación en lenguaje llano, como se describe en [[leer-codigo-sin-saber-programar|leer código sin saber programar]]. Para ver el contexto completo de este tipo de trabajo, lee [[que-es-vibe-coding|qué es vibe coding]].

## ¿Cómo empiezo mañana?

1. Abre la terminal dentro de la carpeta de tu proyecto y escribe `pwd` para confirmar dónde estás antes de pedir cualquier cambio.
2. Practica `ls` y `cd` durante diez minutos en una carpeta de prueba con archivos que no importen. Moverte sin miedo es lo que te permite leer lo que hace un agente.
3. Cuando un agente proponga un comando que borra o mueve, pide primero la versión de solo lectura: `ls` con el mismo patrón.
4. Antes de dejar a un agente trabajar en un proyecto real, asegúrate de que tiene copia en Git. Así un borrado equivocado se puede deshacer.
5. Si no entiendes un comando, no lo ejecutes. Pide que lo explique y que diga qué archivos tocaría.

## Ejemplo

Ejemplo ilustrativo: una diseñadora le pide a un agente que limpie las capturas viejas de su proyecto. El agente propone `rm capturas/*.png`. Antes de aceptar, ella le pide que ejecute `ls capturas/*.png`. La lista incluye `entrega-cliente-final.png`, que no debía borrarse. Entonces le pide que borre solo los archivos que empiezan por `borrador-`, y vuelve a comprobar la lista con `ls capturas/borrador-*.png` antes de confirmar. La comprobación toma un minuto y evita perder un archivo que no tenía copia.

## Errores comunes

- Ejecutar `rm` con comodines sin mirar antes qué archivos coinciden.
- Usar `rm -r` o `rm -rf` sin saber exactamente qué carpeta se va a borrar.
- Pensar que la terminal es solo para programadores.
- Aceptar comandos que no entiendes sin preguntar qué hacen.
- Olvidar en qué carpeta estás y ejecutar el comando en el lugar equivocado. `pwd` lo resuelve.
- Confundir "mover" con "copiar": `mv` quita el original, y si el destino ya existe lo reemplaza.
- Dar por hecho que un borrado hecho por el agente se puede deshacer con `/rewind`. Los checkpoints no cubren lo que solo tocó la terminal.

## Fuentes

- Ubuntu, "The Linux command line for beginners" (tutorial oficial): [https://ubuntu.com/tutorials/command-line-for-beginners](https://ubuntu.com/tutorials/command-line-for-beginners)
- Anthropic, "Best practices for Claude Code" (tuberías, `gh`, `Esc`, `/rewind` y límite de los checkpoints): [https://code.claude.com/docs/en/best-practices](https://code.claude.com/docs/en/best-practices)
- Manual de Linux, `rm(1)` (opciones `-i`, `-I`, `-r`, `-f` y recuperación): [https://man7.org/linux/man-pages/man1/rm.1.html](https://man7.org/linux/man-pages/man1/rm.1.html)
- Manual de Linux, `mv(1)` (sobrescritura, `-i` y `-n`): [https://man7.org/linux/man-pages/man1/mv.1.html](https://man7.org/linux/man-pages/man1/mv.1.html)


---

Source: https://www.fernandoux.com/es/wiki/ia/terminal-basica/
