En el sendero anterior llenaste tu taller de herramientas. Hoy te cuento un secreto que las hace valer doble: todas las aplicaciones de terminal — las apps CLI — hablan el mismo idioma. Apréndelo una vez y cada herramienta nueva te resultará familiar, como quien ya sabe leer y solo cambia de libro. Y para practicar vamos a instalar la app más seria del planeta: una vaca que habla.
Una frase con sujeto y predicado
Mira este comando como si fuera una oración completa:
$ npm install -g cowsayadded 41 packages in 2s$ cowsay "hola jungla" _____________< hola jungla > ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Desármala: npm es el programa, install es la acción (el subcomando), cowsay es sobre qué actúa (el argumento) y -g es un modificador (un flag). Programa, acción, objeto, modificadores — sujeto y predicado. Todas las apps CLI del mundo se leen con esa misma frase, y tú ya la venías usando sin saberlo.
Los flags: interruptores de comportamiento
Los flags cambian cómo se hace la acción sin cambiar la acción. Los cortos llevan un guion (-d); los largos, dos (--version):
$ cowsay -d "demasiados flags" __________________< demasiados flags > ------------------ \ ^__^ \ (xx)\_______ (__)\ )\/\ U ||----w | || ||$ cowsay --version1.6.0
-d (de dead) noqueó a la vaca — un interruptor, otra vaca. Y --version es un clásico que existe en casi todas las apps CLI: pregúntale a git --version o a npm --version y te contestarán igual de obedientes. Mismo idioma, distintas herramientas.
–help: el manual viene incluido
Esta es la parte buena: casi toda app CLI trae su manual adentro. Nadie memoriza flags — se los preguntan a la propia herramienta:
$ cowsay --helpUsage: cowsay [-e eye_string] [-f cowfile] [-h] [-l] [-n] [-T tongue_string] [-Wcolumn] [-bdgpstwy] text# …explica cómo usarla y lista sus opciones; entre ellas: --version Show version number [boolean] -e Select the appearance of the cow's eyes. [default: "oo"] -d Mode: Dead [boolean]# la lista completa sigue en tu pantalla, cada flag explicado
Ahí estaba -d todo este tiempo. La próxima vez que una herramienta te intimide, respira y pídele --help: la app misma te cuenta qué sabe hacer. ¿Y la vaca? Cumplió su misión docente — si quieres despedirla, npm uninstall -g cowsay: la misma gramática, la acción contraria.
En la próxima parada esta gramática se pone seria: git, un comando con subcomandos que guarda la historia completa de tu proyecto.
