如何配置命令行终端的 ANSI 颜色

如何配置命令行终端的 ANSI 颜色

我专门在 Mac OS X 上使用 bash,但我认为答案应该是 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) 命令允许您生成一个命令,您可以在 shell 启动脚本中评估该命令以设置环境变量 LS_COLORS,该变量告诉 /bin/ls 如何为其输出着色。详细信息请参见http://linux.die.net/man/5/dir_colors

相关内容