Colorizar la Terminal de Bash Con DirColors
Table of contents
Acerca de DirColors
Normalmente cuando usamos el comando ls
para listar archivos y carpetas, la salida son colores defecto. Esto se puede modifiar para ver la salida del comando con ciertos colores que ayuda visualmente para leer mejor lo que vemos en la pantalla.
El proceso para abilitar esto es simple:
- instalar el paquete requerido
- obtener el archivo de configuración y modificarlo
- crear personalizaciones deseadas
Instalar y Configuración en RHEL
En RHEL, es necesario instalar el paquete coreutils-common
para poder usar colorizacion en el listado the archivos y carpetas.
root@rhel9-1 [DevEsp]
hist:343 -> yum install coreutils-common-8.30-12.el8.x86_64
Last metadata expiration check: 21:25:08 ago on Tue 16 May 2023 08:04:12 PM PDT.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
coreutils-common x86_64 8.30-12.el8 baseos
================================================================================
Install 1 Package
Solo dos archivos son necesarios para esta tarea:
- /etc/DIR_COLORS :: Archivo de configuración para el sistema entero
- ~/.dir_colors :: Archivo de configuración para el usuario individual
La instalacion crea el archivo /etc/DIR_COLORS
. Por defecto, este archivo debe ser legible por el mundo.
root@rhel9-1 [DevEsp]
hist:344 -> ls -l /etc/DIR_COLORS
-rw-r--r-- 1 root root 4536 Jul 13 2021 /etc/DIR_COLORS
A partir de ahora, la confiugration está disponible para todos los usuarios. Pero podemos copiar el archivo a .dir_colors
en nuestro directorio de inicio $HOME para re-escribir los valores predeterminados del sistema.
-> sudo cp /etc/DIR_COLORS ~/.dir_colors
Si modificamos nuestra copia, solo afecta nuestro ambiento.
Configurar El Ambiente
Una vez que hemos copiado el archivo a nuestro directorio de inicio, agregemos esta linea en ~/.bash_profile
para abilitar esta característica automáticamente cada vez que entremos al sistema.
eval $(dircolors ~/.dir_colors)
Esta otra forma es mejor porque verifica que el archivo existe y si no, entoces lee la base de datos disponible internamente en el sistema.
[ -e ~/.dircolors ] && eval $(dircolors -b ~/.dircolors) || eval $(dircolors -b)
El comando
dircolors
usa la variable the ambient LS_COLORS para determinar los colores con los cuales mostrará la salida del comandols
.
Usando Color Con Salida de Comandos
Ahora podemos usar el parámetro --color
con el comando ls
para ver la salida del comando en color.
-> ls -l --color /usr/bin
Ahora, usando cualquiera de esos aliases resultará en salida de comando colorizado, por ejemplo este alias produce un listado de archivos formateado en tres columnas.
-> ls
Si no deseamos color podemos hacer esto para nulificar el effecto.
alias ls="ls --color=never"
Para comprobar la configuración podemos listar algunos directorios conocidos. La salida del comando debería mostrar algunas carpetas y archivos en colores diferentes.
-> ll /etc
-> ls --color -l /sbin
Instalar y Configuración en Ubuntu
En Ubuntu, esta característica la provee el paquete coreutils
. El paquete deberia estar instalado defecto haciendo disponible el comando /usr/bin/dircolors
el cual toma una base de datos precargado, o también puede tomar por argumento un archivo con personalizaciones.
Crear el archivo ~/.dir_colors
es opcional.
Simplemente úsese asi:
-> ls --color -l /sbin
Para más información ver la ayuda en línea.
-> /usr/bin/dircolors --help
Referencias
- Ver las páginas manuales.
-> man dir_colors -> man dircolors
- Ver el archivo de configuración.
-> cat /etc/DIR_COLORS
Páginas manuales
- dir_colors para Linux en linea.
- dir_colors para Ubuntu en linea.
- vivid en Github.