Как настроить цвета ANSI терминала командной строки

Как настроить цвета ANSI терминала командной строки

Я использую bash специально для Mac OS X, но думаю, что ответ будет универсальным для Unix.

Я уже использую цвета ANSI, но хотел бы переназначить другие цвета папкам, скрытым файлам и т. д.

Обновление: Это оказалось не таким полезным, как я ожидал, поскольку нельзя назначить определенный цвет скрытым файлам, а каталоги не всегда могут быть окрашены одинаково, поскольку цвет закрепленных битов разрешений имеет приоритет над каталогами (оливково-зеленый на скриншоте).

решение1

Измените ваш ~/.profile следующим образом. Вы также можете поместить это в ваш ~/.bashrc или ~/.bash_profile в зависимости от того, что у вас уже есть и что вы используете. ПРИМЕЧАНИЕ: здесь показана настройка цвета по умолчанию. Измените первую e на B, если вы хотите видеть красные каталоги.

    LSCOLORS=exfxcxdxbxegedabagacad

    export LSCOLORS

    export CLICOLOR=1    

Сохраните ваш ~/.profile и затем выполните:

    . .profile

Из командной строки.

Вот различные настройки цвета и порядок атрибутов со страницы руководства 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.

решение2

Команда dircolors(1) позволяет вам сгенерировать команду, которую вы можете оценить в своем скрипте запуска оболочки, чтобы задать переменную окружения LS_COLORS, которая сообщает /bin/ls, как раскрашивать его вывод. Подробности доступны наhttp://linux.die.net/man/5/dir_colors.

Связанный контент