¿Qué significan los diferentes colores en el lscomando de Ubuntu ? Por ejemplo, cuando escribo el lscomando 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


evalscript que muestra la representación del color de salida para cada tipo es brillante ... ¡gracias!evalscript está aquí: github.com/gkotian/gautam_linux/blob/master/scripts/colours.shPuede averiguar qué colores
lsusa mirando la$LS_COLORSvariable: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
lscon el argumento--color=auto(en Ubuntu,lses 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_COLORStambié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-databaseles 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=concealed30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=whiteSi quieres jugar con esto, aquí hay un ejemplo sobre cómo configurar un color para un archivo:
Esto establecerá
*.oggy.mp3parabold magenta. Y si lo coloca en su.bashrcarchivo, se convertirá en permanente.fuente
pdfarchivo, ¿el proceso es usarexport? ¿Es posible simplemente agregar una extensión en laLS_COLORSvariable 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 -pyman 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
rssignificaRESET,mhsignificaMULTIHARDLINK,casignifica ,CAPABILITYetc.?dircolors -p.dircolors -pno 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 |lesspara 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 > ~/.dircolorsAlternativa: 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 -wpara 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 ~/.dircolorsy 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 ~/.dircolorspara 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