linux - ls_colors - ¿Cómo se determina qué significa bash ls colors?
ls--color (5)
Al ejecutar el comando dircolors -p
se imprimirán todas las configuraciones de color predeterminadas. Ver http://linux.about.com/library/cmd/blcmdl1_dircolors.htm .
Cuando ejecuta ls
en un shell bash, a veces hay colores para indicar diferentes tipos de recursos, y puede habilitar / controlar esto con el argumento --color
.
Pero ni la página del manual ni Google brindan una respuesta a la pregunta:
¿Qué indican estos colores de forma predeterminada y cómo se muestra lo que usa el sistema actual?
ACTUALIZAR:
Gracias a todos por las respuestas hasta el momento, sin embargo, para que sea más fácil elegir un ganador, ¿alguien puede ir un paso más allá y proporcionar un método para mostrar las descripciones en los colores que aplican?
Hmmm ... mi ejemplo no funciona cuando se publica (solo cuando se muestra una vista previa), así que si previsualizas este código, mostrará lo que quiero decir ...
<ul style="list-style:none; background:black; margin:0;padding:0.5em; width:10em">
<li style="color:blue">directory</li>
<li style="color:aqua">symbolic link</li>
<li style="color:#A00000;">*.tar files</li>
<li style="color:white">...</li>
</ul>
Gracias.
Debería poder ver la lista de asignaciones en / etc / DIR_COLORS. Puede anularlo creando .dir_colors en su directorio de inicio.
Google para LS_COLORS para algunos enlaces útiles.
Editar: para enumerar los colores, este sencillo script bash puede dar una idea:
IFS=:
set $LS_COLORS
for C in $*
do
IFS=''=''
set $C
echo -e "/033[$2m$1/033[00m"
done
Los colores están definidos por la variable de entorno $LS_COLORS
. Dependiendo de su distribución, se genera automáticamente cuando se inicia el shell, usando ~/.dircolors
o /etc/DIR_COLORS
.
Editar:
Para enumerar los significados de color, usa este script:
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e ''s/:/="/g; s//;/"/n/g'')
{
IFS=:
for i in $LS_COLORS
do
echo -e "/e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )/e[m"
done
}
Pruebe "man 5 dir_colors" para ver cómo está configurado en su sistema. El mío no tiene / etc / DIR_COLORS, por lo que debe establecerse en otro lugar.