Skip to content

Por qué seguir usando $ y # en el prompt de la shell

Published:

Tabla de contenido

Abrir tabla de contenido

En defensa del humilde $ y del temible #

(opinión totalmente subjetiva, pero con cariño)

Este post no es un writeup de CTF, ni un exploit 0day, ni nada útil para ganar puntos en un scoreboard. Es simplemente un rant cariñoso sobre algo que veo cada vez más: gente quitando el $ y el # del prompt.

Sí, esos símbolos viejunos que indican:

Y yo vengo a decir:

por favor, no los matemos todavía.

El prompt: ese cartelito que te avisa antes de liarla

Llámalo prompt, path, cursor, “donde escribo comandos”, da igual. Ese trocito de texto antes de lo que tecleas no es decoración: es información crítica.

$ comando   # usuario normal
# comando   # root

Con un solo carácter sabes:

¿Lo que voy a hacer rompe mi usuario… o rompe el servidor de producción?

Sin whoami, sin id, sin mirar nada. Lo ves de reojo y listo.

¿Por qué algunos hackers pasan del $ y #?

Porque en el mundillo del hacking y la administración de sistemas siempre estamos probando cosas raras en el prompt, así que no sorprende que, por el motivo que sea, mucha gente se cargue el $ y el #.

Veo muchos prompts de este estilo:


λ
»

O temas de zsh/fish súper currados, con:

…pero ni rastro de $ o #.

Las razones típicas:

Muy bien. Hasta que sales de tu cueva.

El día que los colores no te pueden salvar

El argumento “yo uso colores” se rompe muy rápido:

El color mola, sí. Pero no viaja bien. El carácter, sí.

Ejemplos donde el # debería darte escalofríos

Es mucho más fácil ver el peligro así:

# iptables -F
# userdel -r usuario-que-no-era
# mv /etc /etc.bak
# mysql -e 'DROP DATABASE produccion;'

Que así:

 iptables -F
 userdel -r usuario-que-no-era
 mv /etc /etc.bak
 mysql -e 'DROP DATABASE produccion;'

En el segundo caso, si no tienes contexto, parece un script cualquiera. En el primero, el # ya te está gritando:

Oye, esto no es un juguete, ¿seguro que quieres darle a Enter?

No te va a salvar siempre, pero es un freno mental gratis.

Documentación, writeups y CTFs

En CTFs y writeups, el $ y # son oro puro:

Ejemplo típico en un writeup:

$ sudo -l
# cat /root/root.txt

Aunque estés leyendo rápido, tu cerebro entiende: “ah, vale, aquí ya soy root”. Sin colores, sin plugins, sin nada. En un PDF, en un blog, donde sea.

Si quitas esos símbolos, obligas al lector a adivinar el contexto. Y bastante tenemos ya con pelear con filtros, WAFs, payloads URL-encodeados tres veces, race conditions y logs llenos de 500 registros como para también pelear con el prompt.

El argumento de la estética

Sí, lo sé: un prompt tipo:

┌─[ctfer@kali]─[~/ctf/machine]
└──╼ $

queda más “pro” que un triste:

$

Y no hay ningún problema en montar un prompt guapo. Pero no cuesta nada que termine en:

Puedes tener:

…y aún así dejar que un carácter al final resuma tus privilegios.

Esto no es un estándar, es un rant

Todo esto es simplemente mi opinión de usuario cascarrabias de shell:

Yo solo defiendo que, en un mundo de:

el viejo $ y el viejo # siguen siendo la forma más barata y efectiva de ver los privilegios de un vistazo.

No es nostalgia. Es pura comodidad.

TL;DR

Y al final, como siempre en este mundillo:

Hackea como quieras, configura tu shell como quieras… pero si dejas el $ y el #, desde luego no te estás haciendo daño a ti mismo.

Gracias por leer hasta aquí. Ojalá te haya convencido un poco y, si no, tampoco pasa nada: al final, lo importante es que cada cual sea feliz con su prompt. 😊