Pregunta

Al realizar ls en una cáscara del golpe, a veces hay colores para indicar diferentes tipos de recursos, y se puede activar / controlar esto con el argumento --color.

Pero ni el hombre ni la página Google está proporcionando una respuesta a la pregunta:

¿Qué tienen estos colores indican de forma predeterminada, y cómo se hace para ver lo que utiliza el sistema actual?


ACTUALIZACIÓN:

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 descripciones de salida en los colores que se aplican.

Hmmm ... mi ejemplo no funciona cuando se publiquen (sólo cuando previamente), por lo que si se está revisando el código que va a 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.

¿Fue útil?

Solución

Los colores son definidos por la variable de entorno $LS_COLORS. Dependiendo de su distribución, se genera automáticamente cuando se inicia la cáscara, usando ~/.dircolors o /etc/DIR_COLORS.

Editar

Para una lista de significados de los colores, utilizar 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
}

Otros consejos

Al ejecutar el comando imprimirá dircolors -p todos los ajustes de color predeterminados. Ver http://linux.about.com/library/cmd/blcmdl1_dircolors.htm.

Usted debe ser capaz de ver la lista de asignaciones en / etc / DIR_COLORS. Puede anular que mediante la creación .dir_colors en su directorio personal.

Trate de "man 5 DIR_COLORS" para ver cómo se encuentra en su sistema. La mía no tiene / etc / DIR_COLORS por lo que debe establecerse en otro lugar.

Google LS_COLORS para algunos enlaces útiles.

Editar Para una lista de 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top