By | 6 julio, 2006

Tener el ls con colores ya no sea novedad para la mayoría del que instala una distribución moderna de GNU/Linux, pero por qué no tener más cosas con colores. Así, en este artículo hago recuento de las configuraciones que he ido haciendo en mi CLI para tener un ambiente colorido (y útil) de trabajo; tal vez no haya mucha novedad en este artículo para algunos usuarios, pero es un ayuda memoria para cualquier futura consulta.

Colores en el prompt

En /root/.bashrc:
# Una sola linea con la siguiente definicion de variable
PS1='${debian_chroot:+($debian_chroot)}
[33[01;31m]u@h[33[00m]:
[33[01;34m]w[33[00m]# '

root prompt
y en los $HOME de los usuarios ~/.bashrc:
# Lo siguiente en una única línea:
PS1='${debian_chroot:+($debian_chroot)}
[33[01;32m]u@h[33[00m]:
[33[01;34m]w[33[00m]$ '

user prompt
Es necesario revisar el código del script .bashrc para asegurarse que la variable PS1 está exportada luego de esta definición. Esto funciona si abre ventanas desde una sesión gráfica (XWindow), si no tiene interfaz gráfica debería colocar esto en el archivo ~/.bash_login.

Vim

Existe un archivo en /etc/vim/vimrc que puede ser copiado al directorio $HOME como ~/.vimrc entonces se pueden hacer cambios que solo estarán disponibles para ese usuario:
" Vim5 and later versions support syntax highlighting.
" Uncommenting the next line enables syntax highlighting
" by default.
syntax on
" If using a dark background within the editing area and
" syntax highlighting turn on this option as well
set background=dark

sacando las comillas, se eliminan los comentarios (descomentar) y queda habilitado la sintaxis coloreada.

Grep

En el archivo ~/.bashrc o en ~/.bash_profile donde se definen los alias, agregar el siguiente:
alias grep='grep --color'
grep color

Man

Creo que no hay algo más aburrido que un man en B&N, así que colocando las siguientes definiciones de variables en ~/.bash_profile o en ~/.bashrc, ahi están esos colores!
export BLACK="33[0;30m"
export BLUE="33[0;34m"
export GREEN="33[0;32m"
export CYAN="33[0;36m"
export RED="33[0;31m"
export PURPLE="33[0;35m"
export BROWN="33[0;33m"
export LIGHTGRAY="33[0;37m"
export DARKGRAY="33[1;30m"
export LIGHTBLUE="33[1;34m"
export LIGHTGREEN="33[1;32m"
export LIGHTCYAN="33[1;36m"
export LIGHTRED="33[1;31m"
export LIGHTPURPLE="33[1;35m"
export YELLOW="33[1;33m"
export WHITE="33[1;37m"
export BLINK_BLACK="33[5;30m"
export BLINK_BLUE="33[5;34m"
export BLINK_GREEN="33[5;32m"
export BLINK_CYAN="33[5;36m"
export BLINK_RED="33[5;31m"
export BLINK_PURPLE="33[5;35m"
export BLINK_BROWN="33[5;33m"
export BLINK_LIGHTGRAY="33[5;1;37m"
export BLINK_DARKGRAY="33[5;1;30m"
export BLINK_LIGHTBLUE="33[5;1;34m"
export BLINK_LIGHTGREEN="33[5;1;32m"
export BLINK_LIGHTCYAN="33[5;1;36m"
export BLINK_LIGHTRED="33[5;1;31m"
export BLINK_LIGHTPURPLE="33[5;1;35m"
export BLINK_YELLOW="33[5;33m"
export BLINK_WHITE="33[5;37m"
export NORMAL="33[0;0m"

man color

Archivos de log

Hace un tiempo encontré la utilidad ccze que colorea la salida de los logs en forma «inteligente» y es útil tanto para logs de sistema, squid, postfix, apache, etc. (obviamente se instala con apt-get)

ccze color

Y más…

Estoy seguro que estas no son las únicas cosas divertidas que se pueden hacer con la CLI, si alguien tiene algúna otra sugerencia están invitados a agregarla en los comentarios.

13 Replies to “Colores para el CLI”

  1. Visigodo

    Espectacular, ya lo voy a poner en practica.

  2. Andres Tarallo

    Esta muy bueno este resumen que hiciste. En el caso de las entradas para el bashrc esta bueno hacerlas condicionales al tipo de terminal.

    Cuando estudiaba en facultad de ingeniera tenias esto configurado asi, asi tu terminal se comportaba en forma consistente en los distintos sistemas que corria la facultad (solaris, linux, AIX).

    No es algo que le quite el sueño a la mayoria de los usuarios de Linux.

  3. Arlequín

    Che, la de los colores del prompt me genera un retorno de carro al final del prompt….
    ¿A nadie le pasó lo mismo?
    Me conecto vía puTTY….

  4. chucknorris y charlsbronson juntos

    Hola; me ha sorprendido mucho no conocer la posibilidad de ver las man con colores, y rapidamente me he puesto a probarlo…

    Seguro que basta solo con definir esas variables en el .bashrc ? Tras hacer un source y man man, no ha ocurrido nada ni en xterm ni en una tty. No falta algo mas por decir»?

    PD: lo de grep puede ordenarse tb mediante la variable
    GREP_OPTIONS='--color=auto'

    PD2: ccze es genial, para usarlo con pipes con less hay q usar la opcion Ascii de uno y R de otro:
    cat /dev/stdin | ccze -A

    Gracias por el articulo, y a ver si alguien puede aclarar lo de la man

  5. David Waszuk

    Otra opción para colorear las man pages es instalar ‘must’ (sudo apt-get install must). Es necesario tener habilitado el repositorio ‘universe’. Después, editas el .bashrc y agregas export PAGER=»must». Cuando te loguees nuevamente, al ejecutar ‘man’ tendrás el output en colores.

  6. David Waszuk

    Un pequeño detalle en el comentario de ayer… no es «must» sino most (ooops). Por otro lado, para los que prefieren utilizar un ambiente gráfico, siempre está la posibilidad de usar el browser (si se quisiera la man del comando ls, colocar en la barra de direcciones, man:ls). Si bien uso gnome por cuestiones de gusto personal, reconozco que la salida es más vistosa en kde…

  7. rodolfo Post author

    Si! Gracias David! Es precisamente most (no lo encontraba antes…)

    Description: Pager program similar to more and less

    Most is a paging program that displays, one windowful at a time, the contents of a file on a terminal. A status line at the bottom of the screen displays the file name, the current line number and the percentage of the file so far displayed.

    Unlike other paging programs, most is capable of displaying an arbitrary number of windows as long as they all fit on the screen, and different windows could be used to view the same file in different positions.

    In addition to displaying ordinary text files, most can also display binary files as well as files with arbitrary ascii characters.

  8. Jorge Armando

    Muy buen articulo, por cierto que fuente es la que estas usando en la consola?

  9. Jose

    Muchísimas gracias, andaba buscando esto ya que instale puppy linux en una maquina con pocos recursos y no me gustaba los colores de la consola.

    🙂

Responder a Jorge Armando

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *