¿Qué significan los diferentes colores en el ls
comando de Ubuntu ? Por ejemplo, cuando escribo el ls
comando en una de mis carpetas, obtengo uno de los archivos en verde claro, el otro (que es una carpeta) en azul con resaltado verde.
¿Qué significan esos colores y hay algún manual sobre todos los colores?
command-line
colors
ls
Rafid
fuente
fuente
eval
script que muestra la representación del color de salida para cada tipo es brillante ... ¡gracias!eval
script está aquí: github.com/gkotian/gautam_linux/blob/master/scripts/colours.shPuede averiguar qué colores
ls
usa mirando la$LS_COLORS
variable:Además, los archivos están coloreados por atributos:
aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, zoológico, cpio, 7z, rz.
jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, ans, ogv, ogx.
Toda esta información está contenida en la salida de
dircolors --print-database
, pero su formato es bastante ilegible.Aquí hay una explicación técnica de lo que está sucediendo:
Ejemplo:
El código de color consta de tres partes:
La primera parte antes del punto y coma representa el estilo de texto.
La segunda y tercera parte son el color y el color de fondo:
Cada parte puede omitirse, suponiendo que comience por la izquierda. es decir, "01" significa negrita, "01; 31" significa negrita y rojo. Y obtendría su terminal para imprimir en color escapando de la instrucción con
\33[
y terminando con unm
. 33, o 1B en hexadecimal, es el signo ASCII "ESCAPE" (un carácter especial en el conjunto de caracteres ASCII). Ejemplo:Imprime "Hello World" en rojo brillante.
El comando
ls
con el argumento--color=auto
(en Ubuntu,ls
es un alias parals --color=auto
) revisa todos los nombres de archivos e intenta primero hacer coincidir diferentes tipos, como Ejecutable, Pipe, etc. Luego intenta hacer coincidir expresiones regulares como * .wav e imprime el nombre de archivo resultante, incluido en estas instrucciones de cambio de color para bash.fuente
Si escribe
dircolors
(echo $LS_COLORS
también funciona) desde la línea de comandos, obtendrá una lista de códigos y colores para muchos tipos de archivos en 1 línea.dircolors --print-database
les muestra 1 línea a la vez. Aquí hay una lista corta (intenté poner las más importantes). En la parte inferior hay una explicación sobre lo que representan los diferentes códigos al final de cada línea:00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
Si quieres jugar con esto, aquí hay un ejemplo sobre cómo configurar un color para un archivo:
Esto establecerá
*.ogg
y.mp3
parabold magenta
. Y si lo coloca en su.bashrc
archivo, se convertirá en permanente.fuente
pdf
archivo, ¿el proceso es usarexport
? ¿Es posible simplemente agregar una extensión en laLS_COLORS
variable predeterminada ?Esto amplía la respuesta de Karthick87 .
Con la configuración predeterminada
ls -l
)Guión para mostrar colores
Salida con configuración predeterminada:
Salida con mi configuración (colores de dir personalizados y tema de terminal Solarized personalizado):
Obtuve las descripciones de
dircolors -p
yman dir_colors
, y llené los vacíos con mi propia investigación.Los colores y las descripciones son los mismos de 14.04 a 17.10.
fuente
rs
significaRESET
,mh
significaMULTIHARDLINK
,ca
significa ,CAPABILITY
etc.?dircolors -p
.dircolors -p
no dice rs es RESET 0 # restablece el color "normal" .Ninguna de las respuestas aquí incluye las 256 opciones de color en las últimas versiones de Ubuntu. Tengo deficiencia de color (algunos colores me causan problemas cerca uno del otro), por lo que el directorio azul predeterminado en negro es realmente difícil de leer para mí. Lo que sigue es mi investigación para cambiar eso.
Escriba
dircolors -p |less
para ver su código de color actual.El .bashrc predeterminado ya debería estar configurado no solo para aprovechar el código de color del sistema, sino también uno en ~ / .dircolors para volcar la salida de dircolors en .dircolor para que pueda comenzar con ese comando.
dircolors -p > ~/.dircolors
Alternativa: elija un dircolors de 256 colores muy similar del proyecto solarizado de seebi .
Tome este script más colorido y ejecútelo con el comando
colortest -w
para que pueda ver todos los colores a la vez. Elige un color. Me gusta la naranja # 208. Quiero que ese sea el color del texto, así que usando esta información en códigos de color extendidos, puedo aplicar eso.Entonces tienes un color, y ahora qué. Primero tenemos que crear la cadena.
El primer número será un código de atributo, muy probablemente 00, pero si desea que parpadee vaya con 05:
A continuación, seleccione agregar
;38;5;
a ese código de atributo para indicar el color de su texto para obtener 00; 38; 5; y luego agrega tu color. Elegí 208 para obtener00;38;5;208
.Si también desea ponerle un fondo, elija otro color (digamos 56) con la secuencia de comandos más colorida y agregue
;48;5;
para el fondo y 56 para que el color obtenga una cadena total de00;38;5;208;48;5;56
.Entonces, ahora que lo tienes, ¿qué haces con él?
vim ~/.dircolors
y encuentre la sección que desea cambiar (para mí eso es DIR) a la cadena que determinamos arriba de "00; 38; 5; 208".Esto no se aplicará de inmediato, deberá cargar la configuración. Use
dircolors ~/.dircolors
para obtener el código para establecer su variable LS_COLORS. Puede pegar eso en su sesión de terminal o puede cerrar su terminal y volver a abrirlo. También puede canalizar eso en un archivo y ejecutarlo como un script de shell.Puede hacer este mismo procedimiento con 16 colores. No necesitas el especial; 38; 5 o; 48; 5 cosas. Simplemente arroje los números a la cadena y disfrute de la simplicidad.
Gracias a Dan y seebi por sus notas y código sobre esto.
fuente