Como configurar as cores ANSI do terminal de linha de comando

Como configurar as cores ANSI do terminal de linha de comando

Eu uso especificamente o bash no Mac OS X, mas acho que a resposta seria genérica do Unix.

Já estou usando cores ANSI, mas gostaria de reatribuir cores diferentes para pastas, arquivos ocultos, etc.

Atualização: Isso não foi tão útil quanto eu esperava, pois você não pode atribuir uma cor específica aos arquivos ocultos e também os diretórios nem sempre podem ter a mesma cor, já que a cor dos bits de permissão fixos tem precedência sobre os diretórios (verde oliva na captura de tela)

Responder1

Modifique seu ~/.profile com o seguinte. Você também pode colocar isso em seu ~/.bashrc ou ~/.bash_profile dependendo do que você já tem e usa. NOTA: isso mostra a configuração de cores padrão. Mude o primeiro e para B se quiser ver os diretórios vermelhos.

    LSCOLORS=exfxcxdxbxegedabagacad

    export LSCOLORS

    export CLICOLOR=1    

Salve seu ~/.profile e faça:

    . .profile

Na linha de comando.

Aqui estão as diferentes configurações de cores e a ordem dos atributos da página de manual 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.

Responder2

O comando dircolors(1) permite gerar um comando que pode ser avaliado em seu script de inicialização do shell para definir a variável de ambiente LS_COLORS, que informa ao /bin/ls como colorir sua saída. Detalhes estão disponíveis emhttp://linux.die.net/man/5/dir_colors.

informação relacionada