it-swarm-es.tech

CLICOLOR y LS_COLORS en bash

Tengo la siguiente configuración en .bashrc para colorear los listados.

 export CLICOLOR = 1 
 export LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; 01: o = 40; 31; 01: ex = 01; 32: *. tar = 01; 31: *. tgz = 01; 31: *. Arj = 01; 31: *. Taz = 01; 31: *. Lzh = 01; 31: *. Zip = 01; 31: *. Z = 01; 31: *. Z = 01; 31: * .gz = 01; 31: *. bz2 = 01; 31: *. deb = 01; 31: *. rpm = 01; 31: *. jar = 01; 31: *. jpg = 01; 35: *. jpeg = 01; 35: *. gif = 01; 35: *. bmp = 01; 35: *. pbm = 01; 35: *. pgm = 01; 35: *. ppm = 01; 35: *. tga = 01; 35: *. Xbm = 01; 35: *. Xpm = 01; 35: *. Tif = 01; 35: *. Tiff = 01; 35: *. Png = 01; 35: *. Mov = 01; 35: *. Mpg = 01; 35: *. Mpeg = 01; 35: *. Avi = 01; 35: *. Fli = 01; 35: *. Gl = 01; 35: *. Dl = 01; 35: * .xcf = 01; 35: *. xwd = 01; 35: *. ogg = 01; 35: *. mp3 = 01; 35: *. wav = 01; 35: '; 

Este sitio muestra el código para los colores, y quiero cambiar el color del directorio a 'color claro'. Pero hacer di de la siguiente manera no lo afecta.

di = 04; 94

Lo interesante es que incluso después de comentar LS_COLORS, puedo ver resultados en color siempre que tenga CLICOLOR = 1.

  • ¿Qué debo hacer para que el color del directorio sea azul claro (94)?
  • ¿Para qué sirve CLICOLOR y LS_COLORS? ¿Por qué colorear funciona sin LS_COLORS?
51
prosseek

Hay varias implementaciones diferentes de color para ls, y ha combinado algunas de ellas.

  • On FreeBSD y Mac OS X , ls muestra colores si la variable de entorno CLICOLOR está configurada o si -G se pasa en la línea de comando. Los colores reales se configuran a través de la variable de entorno LSCOLORS (los valores predeterminados integrados se usan si esta variable no está configurada). Para mostrar directorios en azul claro, use

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • Con GNU ls , p. en Linux, ls muestra colores si --color se pasa en la línea de comando. Los colores reales se configuran a través de LS_COLORS variable de entorno, que se puede establecer con el comando dircolors (los valores predeterminados incorporados se usan si esta variable no está configurada).

¿Para qué sirve CLICOLOR y LS_COLORS? ¿Por qué colorear funciona sin LS_COLORS?

CLICOLOR activará o desactivará los colores. LS_COLORS no es obligatorio y le permitirá personalizar los colores.

Tenga en cuenta que en algunos sistemas operativos (como MacOSX y FreeBSD), el valor se denomina LSCOLORS, no LS_COLORS.

Evito configurar el color usando LS_COLORS, porque entonces necesito aplicar ese mismo esquema de color en cien computadoras diferentes y 10 Un * xes diferentes. En cambio, modifico el color en mi programa Terminal, que funciona igual en la mayoría de los hosts Unix.

11
Stefan Lasiewski

Si desea un script de envoltura para ls que funcione en todos los sistemas, abstrayendo estas diferencias de color, etc., consulte: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady