Buscar este blog

Mostrando las entradas con la etiqueta bash. Mostrar todas las entradas
Mostrando las entradas con la etiqueta bash. Mostrar todas las entradas

jueves, 25 de mayo de 2017

Modificar el MOTD en Linux

Y esto... ¿tiene valor curricular?

No. Además, esto es de los basics que debes saber sobre Linux; así que es más bien mero capricho que realmente algo útil. Modificaré el MOTD (Message of the Day) solo para que al conectarme a mi lap over SSH pueda saludarme mi carita feliz. En sí, hay scripts que te dan un mensaje diferente cada día y así, pero voy a limitar esta entrada solo a modificar el file, y no a instalar scripts de terceros (I'm sorry).

Haré que mi motd muestre mi logo a modo de saludo, sin embargo, éste no puede ser una imagen, por lo que tendré que pasarlo a ASCII; yo usé esta página.

Sigue los siguientes pasos:

1.- Abre la consola y ve a la siguiente ruta:
cd /etc/

2.- Respalda el file por si algo sale mal o simplemente te hartas del que modificaste:
cp motd motd_back

3.- Escribe:
vi motd

Yo usé VIM, pero puedes usar cualquier otro editor.

4.- Escribe o pega el texto que desees. En mi caso, es el ASCII que obtuve a partir de mi imagen:



5.- Guarda y listo. Tendrás tu MOTD modificado. Simple ¿verdad?



Aunque en realidad esto solo servirá cuando SSHeee o haga telnet a mi lap, podemos modificar el bash para que lo despliegue en cada terminal que abramos localmente.

1.- Edita el ~/.bashrc
vi ~/.bashrc 

2.- Al final agrega lo siguiente
if [ ! -z "$TERM" ]; then
cat /etc/motd
fi

Si quieres revertir los cambios, simplemente borra las tres líneas de la condición.

Te dejo lo siguiente como referencia:



Bites de chocolate.

viernes, 12 de mayo de 2017

Mostrar y ocultar user@host en Linux

¿A poco sí sabes lo que haces, Afro?

La verdad es que no. Pero con eso de que en ocasiones expongo 'screenshots' desde linux, es mi deseo poder ocultar el usuario y el host que arroja el echo de mi terminal. Mostraré cómo ocultarlo y regresarlo a su estado original, así que don't worry si algo sale mal, pues es reversible; ¡manotas éste! haha


Ya tengo mis palomitas para ver el espectáculo. Puedes comenzar

El echo de mi terminal me muestra lo siguiente:
ag@sh4k7a~$
Quiero que sólo me arroje ~$, por ejemplo.

1.- Abro la terminal y escribo:
ag@sh4k7a~$ vi ~/.bashrc 

A mí me gusta usar VIM, pero tú puedes usar otro tipo de superpoder, ¡ja!

La consola me muestra lo siguiente:



2.- Busco la siguiente línea:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Por el tamaño de mi terminal, la encontré en la línea 61.
.... #Continúa de script

          # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;

.... # Continúa script
                                                              61,1          57%

3.- Edito la línea para que quede esto:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '



4.- Guarda y abre otra terminal. Podrás ver que el echo ha cambiado.

Obvio al momento de hacer un screenshot, optamos por que ignore el marco y nos quedará así:


¿Y cómo lo regreso?

Solo haz todo desde el primer paso y asegúrate de que quede como el original:

Modificado:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Original
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Como puedes darte cuenta, los únicos caracteres que hacen diferente una línea de otra, son: \u@\h. Estos se refieren al user y al host respectivamente. Así que sí, lo único que hicimos fue quitarlos de la línea del script.

BItes.