Cómo cambiar los colores del comando ls en Linux
El comando ls es uno de los más utilizado cuando trabajamos en la consola, observamos que no hemos dedicado ningún artículo a este excelente comando en el blog, por lo que traemos el tutorial de cómo cambiar los colores del comando ls. De igual manera, vamos a dar una explicación breve de este comando y su uso.
Vamos a basarnos en la información oficial y en varios métodos encontrado en la web con la misma finalidad, por lo que esté artículo va a ser una recopilación de varios métodos probados y funcionando realizados por diversos individuos.
¿Qué es el comando ls?
Citando a Wikipedia:
“ls (del inglés list, cuya traducción es lista, listado o listar) es un comando de Linux y derivados que muestra un listado con los archivos y directorios de un determinado directorio. Los resultados se muestran ordenados alfabéticamente.
Los archivos y directorios cuyo nombre comienza con . (punto) no se muestran con la instrucción ls, por lo que se suelen denominar «archivos ocultos». La opción -a de ls inhibe este comportamiento, y muestra todos los archivos y subdirectorios, incluso los que comienzan con punto.
ls es una de las herramientas más básicas de los sistemas operativos Unix, por lo que forma parte del paquete GNU Coreutils.”
Colores por defecto en los resultados de la orden ls
Por defecto, cada uno de los colores que arroja cuando ejecutamos el comando ls tienen un significado, ya que es la manera de clasificar los archivos según sus características.
- Verde: Archivos ejecutables.
- Negro: Archivo normal.
- Azul: Directorios o carpetas.
- Celeste: Enlace simbólico.
- Rojo: Archivos comprimidos (.tar, .gz, .zip, .rpm).
- Magenta: Archivos de imagen (.jpg, gif, bmp, png, tif)
Cómo cambiar los colores del comando ls
Opción 1: Modificando nuestro .bashrc
Para que los resultados del comando ls, sean de un color distinto al por defecto, debemos modificar nuestro archivo .bashrc, para ello debemos realizar los siguientes pasos:
Editar desde la terminal nuestro archivo .bashrc
nano $HOME/.bashrc
Añadir al final de archivo lo siguiente:
export PS1="\[$(tput setaf 1)\]\u@\h:\w $ \[$(tput sgr0)\]"
Cargar el archivo y disfrutar.
source ~/.bashrc
Puedes editar el export utilizando las siguientes configuraciones.
Listado de opciones:
- tput bold – negrita
- tput rev – colores invertidos
- tput sgr0 – Restablecer todo
- tput setaf {CODE}– Establecer foreground color, ver color {CODE}
CODE de colores:
Color {code} Color
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Magenta
6 Cyan
7 White
Opción 2: Otra forma de modificar nuestro .bashrc
Cómo hicimos en el paso anterior debemos modificar nuestro archivo .bashrc, para ello debemos realizar los siguientes pasos:
Editar desde la terminal nuestro archivo .bashrc
nano $HOME/.bashrc
Añadir al final de archivo lo siguiente:
alias ls='ls --color LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90' export LS_COLORS
La primera línea hace que ls use el parámetro –color por defecto, el cuál le indica a ls que muestre sus salidas en función de la configuración de la variable.
La segunda línea representan el color que desea darle a los diversos archivos de linux, los mismos son representados por la siguiente denotación:
di = directorio
fi = archivo
ln = enlace simbolico
pi = archivo FIFO
so = archivo socket
bd = bloque (buffer) de archivos especiales
cd = carácter (sin búfer) de archivos especiales
or = enlace simbólico que apunta a un archivo inexistente (huérfano)
mi = archivo no existente al que apunta un enlace simbólico (visible cuando se escribe ls -l)
ex = fichero ejecutable
Los colores que acompañan a cada tipo de archivo son representados por números, para saber la conversión de cada color pueden ver la siguiente tabla:
0 = color predeterminado
1 = negrita
4 = subrayados
5 = texto intermitente
7 = campo inverso
31 = rojo
32 = verde
33 = naranja
34 = azul
35 = púrpura
36 = magenta
37 = gris
40 = fondo negro
41 = fondo rojo
42 = fondo verde
43 = fondo naranja
44 = fondo azul
45 = fondo morado
46 = fondo cian
47 = fondo gris
90 = gris oscuro
91 = semáforo en rojo
92 = luz verde
93 = amarillo
94 = luz azul
95 = luz violeta
96 = turquesa
100 = fondo gris
101 = fondo rojo
102 = fondo verde claro
103 = fondo amarillo
104 = fondo azul claro
105 = luz de fondo morado
106 = fondo turquesa
Opción 3: Utilizando LS_COLORS
Otra forma de cambiar colores es usando LS_COLORS, una colección de colores que nos permite asignar colores a la salida del comando ls. Para utilizarlo basta con entrar a la terminal y realizar los siguientes comandos:
wget https://raw.github.com/trapd00r/LS_COLORS/master/LS_COLORS -O $HOME/.dircolors
echo 'eval $(dircolors -b $HOME/.dircolors)' >> $HOME/.bashrc
. $HOME/.bashrc
Con estas diversas formas de cambiar los colores del comando ls, puede configurar a su gusto la representación de la salida de este grandioso comando.
Con información de stackoverflow y linux-sxs
El artículo Cómo cambiar los colores del comando ls en Linux aparece primero en Cómo cambiar los colores del comando ls en Linux.