OS X终端颜色

时间:2009-10-11 09:43:02

标签: macos shell terminal colors

我是OS X的新手,在使用Ubuntu Linux一段时间后刚刚获得了Mac。在我想弄清楚的很多事情中,我的终端窗口中没有颜色 - 就像在运行ls -lagit status时显示的那些(在Linux上)...

我无法弄清楚如何激活shell中的颜色。

7 个答案:

答案 0 :(得分:715)

我知道,这个帖子已经老了,但问题不是。

这是我发现能够实现全球化的解决方案 terminal colors

修改.bash_profile(自OS X 10.8起) - 或(适用于10.7及更早版本):.profile.bashrc/etc/profile(视具体情况而定) - 在您的主目录并添加以下代码:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1只需启用终端着色。

LSCOLORS=...指定如何为特定项目着色。

编辑.bash_profile后,启动终端并通过执行以下命令强制执行更改:

source ~/.bash_profile

然后转到Terminal > Preferences,点击Profiles标签,然后点击Text子标签,然后点击Display ANSI Colors

在Sierra(2017年5月)上验证。

答案 1 :(得分:115)

您可以在其中一个启动脚本中使用基于Linux的语法。刚刚在OS X Mountain Lion盒子上进行了测试。

例如。在~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

这为您提供了一个很好的彩色提示。要添加彩色ls输出,您可以添加alias ls="ls -G"

要进行测试,只需运行source ~/.bash_profile即可更新当前终端。

关于颜色的附注: 颜色前面是转义序列\e,由颜色值定义,由[style;color+m]组成,并包含在转义的[]序列中。 例如。

  • red = \[\e[0;31m\]
  • 粗体红色(样式1)= \[\e[1;31m\]
  • clear coloring = \[\e[0m\]

我总是在root的.bash_profile中添加一个稍微修改过的颜色方案,以使用户名为红色,所以我总是清楚地看到我是否以root身份登录(如果我打开了许多终端窗口,可以避免错误)。

/root/.bash_profile

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

对于我在线的所有SSH帐户,我确保将主机名设置为红色,以区分我是在本地还是远程终端。只需编辑服务器上主目录中的.bash_profile文件。如果服务器上没有.bash_profile文件,您可以创建它,并且应该在登录时获取。

答案 2 :(得分:38)

MartinVonMartinsgrün和4Levels方法在Mac OS X Mountain Lion上得到了很好的证明。

我需要更新的文件是〜/ .profile。

但是,如果不推荐我最喜欢的应用程序iTerm 2,我就不能离开这个问题。

iTerm 2允许您从文件加载全局颜色方案。真的很容易实验并尝试一堆配色方案。

这是iTerm 2窗口和颜色首选项的屏幕截图。 iTerm2 Color Preferences Screenshot Mac

一旦我将以下内容添加到我的〜/ .profile文件中,iTerm 2就能够覆盖颜色。

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

这是一个很棒的存储库,有一些很好的预设:

iTerm2 Color Schemes on Github by mbadolato

奖励:选择“使用系统范围的热键显示/隐藏iTerm2”并将密钥绑定到BetterTouchTool 立即用鼠标手势隐藏/显示终端。

答案 3 :(得分:15)

如果你想让你的ls着色你必须编辑〜/ .bash_profile文件并添加以下行(如果还没有写):

source .bashrc

然后编辑或创建〜/ .bashrc文件并为ls命令写一个别名:

alias ls="ls -G"

现在,如果已经启动,您必须在终端中键入source .bashrc,或者只需打开一个新终端。

如果您需要ls juste中的更多选项,请阅读手册(man ls)。选项与GNU / Linux系统中的选项不完全相同。

答案 4 :(得分:4)

检查$ TERM给出的内容:我的是xterm-color,而ls -alG然后进行着色输出。

答案 5 :(得分:4)

如果您使用的是tcsh,请编辑~/.cshrc文件以包含以下行:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

就像Martin说的那样,LSCOLORS指定了你想要使用的颜色方案。

要生成您要使用的LSCOLORS,请查看此site

答案 6 :(得分:2)

当我在实验室中使用Mac OS X时,我能够使用终端(而不是X11)获得终端颜色,然后编辑配置文件(从Mac菜单栏中)。界面在颜色上有点奇怪,但您必须将修改后的主题设置为默认值。

通过编辑.bashrc进一步设置。