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]# '
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]$ '
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'
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"
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)
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.
Genial lo del coloreador de grep! No conocÃa esa 🙂
Muy bueno, gracias!
Ahora mismo me pongo a editar mis configuraciones!
Espectacular, ya lo voy a poner en practica.
Los colores de gentoo 😀
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.
Excelente!! Gracias.
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….
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
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.
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…
Si! Gracias David! Es precisamente most (no lo encontraba antes…)
Muy buen articulo, por cierto que fuente es la que estas usando en la consola?
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.
🙂