Cómo configurar los colores ANSI del terminal de línea de comando

Cómo configurar los colores ANSI del terminal de línea de comando

Utilizo específicamente bash en Mac OS X, pero creo que la respuesta sería genérica de Unix.

Ya estoy usando colores ANSI, pero me gustaría reasignar diferentes colores a carpetas, archivos ocultos, etc.

Actualización: esto no fue tan útil como esperaba, ya que no se puede asignar un color específico a los archivos ocultos y, además, los directorios no siempre pueden tener el mismo color, ya que el color de los bits de permiso adhesivos tiene prioridad sobre los directorios (verde oliva). en la captura de pantalla)

Respuesta1

Modifique su ~/.profile con lo siguiente. También puedes poner esto en tu ~/.bashrc o ~/.bash_profile dependiendo de lo que ya tengas y uses. NOTA: esto muestra la configuración de color predeterminada. Cambie la primera e por una B si desea ver los directorios rojos.

    LSCOLORS=exfxcxdxbxegedabagacad

    export LSCOLORS

    export CLICOLOR=1    

Guarde su ~/.profile y luego haga lo siguiente:

    . .profile

Desde la línea de comando.

Aquí están las diferentes configuraciones de color y el orden de los atributos de la página de manual de ls:

LSCOLORS        The value of this variable describes what color to use for which attribute when colors are enabled with CLICOLOR.  This string is a
                 concatenation of pairs of the format fb, where f is the foreground color and b is the background color.
                 The color designators are as follows:

                       a     black
                       b     red
                       c     green
                       d     brown
                       e     blue
                       f     magenta
                       g     cyan
                       h     light grey
                       A     bold black, usually shows up as dark grey
                       B     bold red
                       C     bold green
                       D     bold brown, usually shows up as yellow
                       E     bold blue
                       F     bold magenta
                       G     bold cyan
                       H     bold light grey; looks like bright white
                       x     default foreground or background

                 Note that the above are standard ANSI colors.  The actual display may differ depending on the color capabilities of the terminal in
                 use.

                 The order of the attributes are as follows:

                       1.   directory
                       2.   symbolic link
                       3.   socket
                       4.   pipe
                       5.   executable
                       6.   block special
                       7.   character special
                       8.   executable with setuid bit set
                       9.   executable with setgid bit set
                       10.  directory writable to others, with sticky bit
                       11.  directory writable to others, without sticky bit

                 The default is "exfxcxdxbxegedabagacad", i.e. blue foreground and default background for regular directories, black foreground and red
                 background for setuid executables, etc.

Respuesta2

El comando dircolors(1) le permite generar un comando que puede evaluar en el script de inicio de su shell para configurar la variable de entorno LS_COLORS, que le indica a /bin/ls cómo colorear su salida. Los detalles están disponibles enhttp://linux.die.net/man/5/dir_colors.

información relacionada