¿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.