¿Cómo colorear la salida de ls?


22

Estoy ejecutando CentOS en modo de texto Linux. Cuando ejecuto el comando ls /usr/, la salida es demasiado difícil de leer (azul oscuro sobre negro). ¿Cómo puedo cambiar el color del texto?

Captura de pantalla de la salida ls

Respuestas:


19

Si desea cambiar sus colores en la consola, eso está fuera de X , entonces puede especificar los colores en su .bashrc, así:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black
    echo -en "\e]P8222222" #darkgrey
    echo -en "\e]P1803232" #darkred
    ....
    fi

Donde está definiendo el negro como #222222Consulte esta publicación para obtener más detalles: http://phraktured.net/linux-console-colors.html

Si está trabajando en X , puede personalizar su configuración definiendo sus colores de la siguiente .Xresourcesmanera:

!black
 *color0:  #3D3D3D
 *color8:  #5E5E5E
!red
 *color1:  #8C4665
 *color9:  #BF4D80
 ...

y luego obtiene este archivo cuando inicia X, generalmente desde su .xinitrc:

xrdb -merge ~/.Xresources

Arch Wiki tiene una página en .Xresources que explica todas las opciones: https://wiki.archlinux.org/index.php/Xresources

Otra mejora que puede hacer en X o no es especificar todos los diferentes tipos de archivos que le gustaría colorear, y sus respectivos colores en un .dir_colorsarchivo, de esta manera:

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
 ...

Para comenzar, copie /etc/dir_colorsen el /homedirectorio de su usuario y realice sus cambios. Luego, obtenga esto de su .bashrccon eval $(dircolors -b ~/.dir_colors)Esto le permitirá un control detallado sobre los colores de los archivos y los tipos de archivos cuando los use ls.

Puede encontrar un .dir_colorsarchivo de ejemplo (increíblemente detallado y completo) aquí: https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

Con una combinación de los tres enfoques, puede crear una configuración razonablemente uniforme, ya sea que esté trabajando en la consola o en X.


Lo siento, soy un nuevo alumno de Linux. Lo instalé en linux text. No hay consola. todo se está ejecutando en la línea de comando. gracias,
runeveryday

2
Sí: a eso me refería cuando dije fuera de X - en las consolas TTY (TTY 1-7).
jasonwryan

jasonwryan, ejecuto el comando vim / etc / DIR_COLORS el DIR es 01; 34 CÓMO CAMBIAR EL color verde azulado. gracias,
runeveryday

2
El término colores está aquí: tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html El verde es 00;32y el verde claro / negrita es 1;32La única forma de obtener verde azulado es usar el método que describí anteriormente para definir uno de esos 16 colores como un equivalente hexadecimal de verde azulado.
jasonwryan

perdón si esta es una pregunta para principiantes, pero ¿cambia su respuesta para un sistema Unix en OS X?
Charlie Parker

9

El archivo que quieres es /etc/DIR_COLORS. Tuve exactamente el mismo problema que tú y cambié los directorios a un color verde azulado. Funciona mucho mejor.

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

Editar /home/yourusername/.dir_colors, verá esta línea:

DIR 01;34    #directory

Cambia eso a esto:

DIR 01;36    #directory

Lo que hace que los colores del directorio sean verde azulado.


cuando ejecuto el comando / etc / DIR_COLORS, el permiso de salida denegado. Soy el usuario root, ¿por qué? Cómo cambiar el color a verde azulado. gracias
runeveryday

3
@run No es un comando, es un archivo de configuración; ábralo en un editor de texto
Michael Mrozek

el DIR es 01; 34 CÓMO CAMBIAR DE COLOR AZUL gracias,
runeveryday

@MaxMackie Esto no parece funcionar para mí (copiado ~/.dir_colors) y cambió todo a 00. Descubrí que tengo que abrir una nueva terminal. ¿Cómo se aplica / se conecta al terminal actual?
Bernhard
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.