Bloque 01 · 8:15 – 9:30 ARG

Tu Mac sin mouse

Terminal y Finder son dos formas de ver lo mismo. En este bloque navegás tu Mac por dentro y entendés cómo está organizado el sistema.

Teach 35 min Follow 40 min Facilita Gonza (remoto)

Primero iniciá la hackathon

Tenés que completar tu nombre y contraseña antes de entrar al contenido del día.

← o volver a la landing

De qué va

La terminal y el Finder son dos formas de ver lo mismo

Vas a entender cómo está organizado tu Mac por dentro, qué es un archivo oculto y cómo navegar sin mouse. Cuando trabajás con un agente de AI, el 90% del tiempo estás en la terminal — así que esta base te sirve todo el día.

Cómo se organiza tu Mac

El árbol del filesystem

Todo en tu Mac vive dentro de un árbol que arranca en la raíz (/). Las carpetas importantes que vas a ver todo el día:

Árbol de carpetas
/                         ← raíz (el punto de partida de todo)
├── Applications/         ← todas las apps instaladas
├── Library/              ← configuración del sistema
├── System/               ← el sistema operativo mismo (no tocar)
├── Users/                ← donde vive tu usuario y los demás
│   └── tu-usuario/       ← TU carpeta personal (también llamada ~)
│       ├── Desktop/      ← el Escritorio que ves en Finder
│       ├── Documents/
│       ├── Downloads/
│       ├── Development/  ← donde solemos poner proyectos de código
│       └── .zshrc        ← archivos ocultos de configuración (empiezan con .)

Los conceptos clave

  • / es la raíz de todo. Todo lo demás cuelga de ahí.
  • /Users/tu-usuario/ es tu carpeta personal. Todo lo tuyo (Desktop, Documents, Downloads) vive acá adentro.
  • ~ es un atajo para /Users/tu-usuario/. Son equivalentes: cd ~/Desktop = cd /Users/tu-usuario/Desktop.
  • Los archivos ocultos empiezan con un punto (.zshrc, .env, .gitignore). Finder no los muestra por default — pero en la terminal los ves con ls -a.
  • Un patrón que vas a ver todo el día: muchos programas guardan su configuración en tu home como dotfiles o dotdirs.zshrc, .gitconfig, .ssh/, .config/, .claude/… Cuando instales algo nuevo y te preguntes "¿y esto dónde guarda sus cosas?", ls -a ~ es el primer lugar a mirar.
Quién sos para tu Mac

Todo comando lo corre un usuario

Mirá el prompt de tu terminal — algo como gonza@macbook %. Esa primera palabra es tu usuario: la misma cuenta con la que iniciás sesión en macOS. Cada vez que tipeás un comando, lo ejecuta ese usuario, con sus permisos. Ni más ni menos.

Ver quién sos
whoami           # devuelve tu nombre de usuario
echo $USER       # lo mismo, leído de la variable de entorno
id               # más info: a qué grupos pertenecés

Tu home es tuyo; el sistema no

  • /Users/tu-usuario/ es literalmente tu home. Lo que vive ahí te pertenece — podés crear, borrar, modificar a gusto.
  • /System/, /Library/, /Applications/ no son tuyos. Pertenecen a otro usuario — y no a cualquiera.

root — el usuario que manda sobre todo

En todo sistema Unix (macOS, Linux, los servidores donde viven los agentes en producción) existe un usuario especial llamado root, también conocido como el superusuario. Es el administrador absoluto del sistema.

  • Puede hacer cualquier cosa: leer, modificar o borrar cualquier archivo, instalar lo que sea, cambiar cualquier configuración. Sin límites.
  • Es dueño de las carpetas del sistema/System/, /usr/, /etc/, /bin/. Todo lo que hace funcionar al OS le pertenece.
  • Analogía de oficina: si cada empleado tiene la llave de su cajón (tu home), root es el de seguridad que tiene la llave maestra que abre todas las puertas del edificio.
  • En macOS moderno no podés iniciar sesión como root directamente — Apple lo deshabilitó a propósito. La única forma de actuar como root es por un solo comando a la vez, usando sudo (lo vemos en el Bloque 2).
  • Principio de mínimo privilegio: nunca quieras "ser root" todo el tiempo. Un comando mal tipeado como root puede romper el sistema. Como usuario normal, en el peor caso rompés tus propios archivos.

La idea que te llevás: cada archivo tiene un dueño y cada comando se ejecuta como alguien. Están vos (con permiso sobre tu home) y root (con permiso sobre todo). Esa tensión entre ambos explica el 80% de los "permission denied" que vas a ver durante el día — y es exactamente la misma idea que gobierna quién puede hacer qué en los servidores donde más adelante van a vivir los agentes en producción.

Anatomía de un comando

Programa, opción, argumento

Todo comando que tipeás tiene la misma estructura. Una vez que la ves, todos los comandos del día se te ordenan mentalmente en los mismos tres cajones.

La forma general
ls -la ~/Desktop
│  │   │
│  │   └─ argumento: sobre qué actuás (acá, la carpeta a listar)
│  └───── opción (o "flag"): modifica cómo se comporta (-l = formato largo, -a = incluir ocultos)
└──────── programa: la acción que querés ejecutar

Los tres cajones

  • Programa — el verbo. Lo que querés hacer: ls, cd, mkdir, git, python. Siempre va primero.
  • Opciones (también llamadas flags) — modifican el comportamiento del programa. Empiezan con - (forma corta, una letra) o -- (forma larga, palabra entera). Muchas veces existen las dos: -a y --all son lo mismo. Las cortas se pueden pegar: -la equivale a -l -a.
  • Argumentos — el objeto. Sobre qué actúa el comando: un archivo, una carpeta, un texto. Un comando puede no tener argumentos, tener uno, o tener varios.

El mismo patrón, distintos comandos

Leé cada línea y ubicá los cajones
ls                           # solo programa — lista la carpeta actual
ls Desktop                   # programa + argumento — lista el Desktop
ls -l                        # programa + opción — lista en formato largo
ls -la ~/Desktop             # programa + opciones + argumento — todo junto
mkdir -p proyectos/hack/src  # -p = crea carpetas intermedias si no existen
grep -i "hola" notas.txt     # -i = case-insensitive; dos argumentos: qué buscar y dónde

Opciones que toman valor

Algunas opciones no son on/off — esperan un valor pegado atrás (lo que a veces vas a ver llamado parámetro de la opción):

La opción recibe un valor
git commit -m "mi mensaje"   # -m es la opción; "mi mensaje" es su valor
ssh -p 2222 servidor.com     # -p espera el número de puerto
curl -o salida.html url.com  # -o espera el archivo donde guardar

¿Y cómo averiguo qué opciones tiene un comando?

  • comando --help — casi siempre funciona y te lista las opciones disponibles (probá ls --help, git --help).
  • man comando — abre el manual completo (man ls). Salís con q.
  • explainshell.com — pegás cualquier comando y te desarma cada pieza. Ideal cuando copiás uno de internet y no entendés qué hace.

Por qué te lo mostramos acá: el 99% de los comandos que vas a ver hoy — y después, cuando trabajes con un agente — siguen este patrón. Si reconocés los tres cajones de un vistazo, dejás de "copiar y rezar" y empezás a leer lo que estás corriendo.

Tres atajos que no te podés perder

Tab, flechas y Ctrl + R

La terminal parece que te pide tipear todo a mano — no es así. Tres atajos cambian por completo la experiencia y los vas a usar todo el día. Tatuátelos en la memoria.

Tab — autocompletar

Empezás a escribir el nombre de un archivo, carpeta o comando y apretás Tab. Si hay una sola opción que empieza así, te la completa. Si hay varias, apretás Tab dos veces y te las lista.

Ejemplo
cd ~/Doc<Tab>        # te completa a ~/Documents/
cd ~/D<Tab><Tab>     # te lista: Desktop/ Development/ Documents/ Downloads/

Además de ahorrarte tipeo, te confirma que el archivo existe realmente con ese nombre — si no autocompleta, es que lo estás escribiendo mal.

— recorrer comandos anteriores

Las flechas arriba y abajo te pasean por los comandos que ya corriste, del más reciente al más viejo. Ideal para repetir el último con un pequeño cambio, o cuando te equivocaste en una letra y no querés retipear todo.

Flujo típico
# corriste esto hace dos comandos:
ls -la ~/Development/hack-2026

# apretás ↑ dos veces, edítás y Enter — no retipeaste nada

Ctrl + R — buscar en el historial

Cuando el comando que querés está más atrás y no vas a apretar cincuenta veces: Ctrl + R abre una búsqueda incremental del historial. Tipeás un pedazo del comando (aunque sea del medio) y te lo va encontrando.

Ejemplo
Ctrl + R         # se abre el buscador: (reverse-i-search)`':
git commit       # tipeás "git commit" y te trae el último que matcheó
Enter            # lo ejecutás tal cual
# o ← / → para editarlo antes
# o Ctrl + R de nuevo para ver el anterior que también matcheaba
# Ctrl + C o Esc para salir sin correr nada

Por qué te lo mostramos acá: la gente que se siente cómoda en la terminal no es la que tipea más rápido — es la que casi no tipea. Entre Tab, las flechas y Ctrl + R, el 80% de lo que hacés durante el día son comandos que ya corriste antes con mínimos ajustes. Si salís de este bloque con estos tres atajos incorporados, ganaste el viernes.

Mirá con más detalle

Videos recomendados

macOS Terminal (zsh) — The Beginner's Guide
Academind · 31 min — El mejor intro a Terminal en Mac. Cubre pwd, ls, cd, mkdir, paths absolutos y relativos.
Probá con más detalle

Tu primera secuencia en la terminal

Abrí la terminal (Cmd + Espacio → escribí "Terminal" → Enter) y corré estos comandos de a uno, leyendo lo que devuelve cada uno.

Navegación básica
pwd              # te dice en qué carpeta estás
ls               # lista archivos y carpetas
ls -la           # lista también los archivos ocultos (los que empiezan con .)
cd ~             # te va a tu carpeta personal (/Users/tu-usuario)
pwd              # confirmás que estás en /Users/tu-usuario
cd /             # te vas a la raíz del sistema
ls               # mirás las carpetas principales: Applications, Users, System, etc.
cd ~/Desktop     # volvés al Desktop

Crear, navegar, volver

Crear archivos y carpetas
mkdir prueba     # crea una carpeta llamada "prueba"
cd prueba        # entrás a la carpeta
touch hola.txt   # crea un archivo vacío
ls               # deberías ver hola.txt
cd ..            # volvés una carpeta hacia atrás

Si todo eso te funcionó, ya tenés el 80% del bloque resuelto.

Si terminás antes

Para los que van rápido

  • Investigá grep para buscar texto dentro de archivos: grep "palabra" archivo.txt
  • Probá history para ver todos los comandos que corriste en la sesión.
  • Corré id para ver a qué grupos pertenece tu usuario, y ls -l dentro de / para ver quién es dueño de cada carpeta del sistema.
  • Customizá tu terminal agregando un alias a ~/.zshrc (ej: alias ll="ls -la").
  • Pipes (|) y redirección (>, >>)| conecta el output de un comando al input del siguiente (ls | grep .txt). > manda el output a un archivo (pisando); >> agrega al final sin borrar. Vas a verlos todo el día — para entenderlos a fondo, tirá el link de Ryan's Tutorials en Referencias.
Tu checklist del bloque

¿Lo hiciste y lo entendés?

Dos listas independientes. Marcá lo que ya pudiste hacer (izquierda) y los conceptos que ya te cerraron (derecha). Si algo del "Me lo llevo" no lo marcás, conviene preguntarle a Gonza antes de pasar al Bloque 2.

Hecho 0/7
🧠 Me lo llevo 0/7
Referencias

Lecturas y tutoriales

💭 Para pensar

Cómo te organizás hoy en tu Mac

Ya viste cómo está organizado el filesystem. Ahora, 5 preguntas sobre cómo estás organizado/a vos antes de seguir al Bloque 2.

  1. Si abrieras tu Finder ahora mismo y te sacaras una foto, ¿qué diría esa foto de cómo trabajás?
  2. ¿Todo vive en el Desktop y lo limpiás cada tanto, o tenés un sistema con carpetas pensadas?
  3. ¿Personal y trabajo están en carpetas distintas, o se mezclan recetas.pdf con plan-Q3.xlsx?
  4. ¿Tenés una carpeta raíz para proyectos (~/Development, ~/Proyectos, ~/Work), o cada cosa vive en un lugar distinto?
  5. Si tuvieras que encontrar el último brief de cliente que escribiste, ¿en cuánto tiempo lo tenés en pantalla?
Tu navegador bloquea el guardado local — tu progreso no va a persistir entre recargas.