Normalmente es bueno tener resultado de color ls, grep, etc, pero cuando no lo desea (como en un guión en el que está canalizando los resultados a otro comando) no es un interruptor que puede apagarlo? ls -Glo activa (con algunas versiones derivadas de BSD ls) si no es el predeterminado, pero ls +Gno lo desactiva. ¿Hay algo más que lo haga?
50

lsygrepcuando se canaliza, no necesita hacer nada porque--color=autoya apaga el color cuando su salida es una tubería, o de hecho cualquier cosa menos un tty; eso es lo que significa "auto". De manera similar, FreeBSDls -Go 'CLICOLOR' está 'deshabilitado si la salida no se dirige a un terminal a menos que ... CLICOLOR_FORCE ...'.Respuestas:
La salida de color para
lsnormalmente se habilita a través de un alias en la mayoría de las distribuciones en la actualidad.Siempre puede deshabilitar un alias temporalmente con el prefijo de una barra diagonal inversa.
Hacer lo anterior cortocircuitará el alias solo para esta invocación. Puede usarlo en cualquier momento que desee deshabilitar cualquier alias.
fuente
command ls, por supuesto, pero esto es un poco más rápido.Con GNU
ls, puede especificarls --color=neverdeshabilitar explícitamente la salida de color. (Incluso si tiene unalias ls='ls --color=auto', cuando ejecutals --color=never, se expandirá als --color=auto --color=never, y la opción posterior tiene prioridad).fuente
También puede simplemente usar (como en DOS):
Mostrará los resultados sin color, puede agregar los mismos argumentos a
ls, como-l.fuente
o
Esto deshabilita permanentemente los colores.
fuente
lsalias y las pierde durante toda la sesión, en lugar de solo un comando.En muchas distribuciones de Linux esto está activado por defecto en los usuarios
.bashrc.Edite
~/.bashrcy elimine la línea que se ve así:Si desea deshabilitar esta función para todas las cuentas nuevas generadas en esta máquina en el futuro, elimine la misma línea de:
fuente
En Centos7 esto se está configurando en
/etc/profile.d/colorls.sh... las últimas 3 líneas de este script son:Si tiene el deseo y los permisos ... comentar la línea no deseada debería ser el truco.
fuente
unalias ls ll len ti.bashrcsi no tienes permisosPara desactivar el color: unalias ls
Para activar el color: alias ls = 'ls --color = auto'
Para deshabilitar temporalmente el color: \ ls -ltr
fuente
Puede haber algo más sucediendo.
lsno debería usar colores a menos que piense que está conectado a algo interactivo. No debería colorear las cosas cuando se canaliza a otro programa.Un alias generalmente es una mala idea porque nunca puedes deshacerte de esa opción y te acostumbras a configuraciones personales que quizás no puedas llevar contigo a otra máquina en la que tengas que trabajar. Si necesita apagarlo para conectarlo a otra cosa, use el interruptor en esa tubería. Pero, los colores no deberían estar allí en una tubería.
Para
lsver si la suya admite laLS_COLORSvariable de entorno. Los trapd00r / LS_COLORS muestra cómo THT obras. dircolors le permite ajustar los colores minuciosamente y por tipo de archivo. Si no configuraLS_COLORSpero tiene activada la coloración,lshará un montón de llamadas al sistema para descubrir los tipos de archivo y los atributos para que pueda determinar qué colorear. Las personas detrás de Sherlock descubrieron que la configuraciónLS_COLORSpuede evitar todo eso y mejorar 40 veces la velocidad . Lea sus detalles sangrientos para ver lo que encontraron.Hago que todos los tipos de archivos usen los colores predeterminados:
Aquí está el archivo LS_COLORS que alimente a dircolors:
Para
grepver si el tuyo es compatibleGREP_COLORSoGREP_OPTIONS.fuente
lslas secuencias de escape de salida de GNU para los colores elegidos. Compare la salida dels --color=always | od -acon la dels --color=never | od -acon esta configuración deLS_COLORS.ls | od -ano emite los escapes, y eso es lo que quiero. Ellssolo debería emitir esas secuencias cuando está enviando la salida a un terminal. Sin embargo, si se lo dices, seguro que lo hará. Entonces, no hagas eso.agregando la respuesta de @ brian-d-foy, la mayoría de las veces hay un color simple y molesto que te gusta cambiar, por ejemplo, el azul invisible del directorio o el verde llamativo de "OTHER_WRITABLE", así que usemos nuestro 24- bit display :)
para redefinir solo el color del directorio y su color de otra escritura
Leer más sobre el código de ANSI
fuente
ls, no sobre cómo cambiar los colores individuales.