macOS 命令行工具,如 Terminal 和 iTerm2,默认的配色方案虽然清晰,但在长时间使用或处理大量输出时,可能会显得单调甚至造成视觉疲劳,通过自定义命令行配色,不仅可以提升视觉体验,还能通过颜色区分不同类型的信息(如文件、目录、命令、错误等),提高工作效率,本文将详细介绍 macOS 命令行配色的多种方法,包括 Terminal 自定义、iTerm2 高级配置、环境变量设置以及 LS_COLORS 的详细调整,帮助你打造个性化的高效命令行环境。

Terminal.app 自定义配色
macOS 自带的 Terminal.app 支持基础的配色自定义,用户可以轻松修改背景色、文字颜色、光标颜色以及选中文字的颜色,具体步骤如下:
- 打开 Terminal,点击菜单栏的
Terminal>Preferences(或使用快捷键Command + ,)。 - 在弹出的偏好设置窗口中,切换到
Profiles选项卡,这里可以查看和管理多个配置文件,每个配置文件可以有不同的颜色设置。 - 新建或选择配置文件:点击左下角的 号新建配置文件,或选择现有配置文件进行修改。
- 调整颜色:
- Text:设置文字颜色,点击颜色块可选择预设颜色或使用取色器自定义。
- Background:设置背景颜色,同样支持预设和自定义,建议选择深色背景(如深灰或黑色)以减少眼睛疲劳,尤其是在低光环境下。
- Selection:设置选中文字的颜色,默认为半透明蓝色,可根据喜好调整。
- Cursor:设置光标颜色,默认为白色,可调整为与背景对比度较高的颜色(如亮黄色)以增强可见性。
- 高级设置:在
Window选项卡中,还可以调整窗口透明度、文字大小、字体等,勾选Cursor下的Blinking可让光标闪烁,方便定位。
Terminal 的配色自定义相对简单,适合基础需求,但若需更精细的控制(如不同文件类型用不同颜色显示),则需要借助其他工具或方法。
iTerm2 高级配色方案
iTerm2 是 macOS 上广受欢迎的第三方终端工具,其配色自定义功能远强于 Terminal.app,支持语法高亮、预设主题导入导出等,以下是 iTerm2 配色的详细配置方法:
- 安装 iTerm2:若未安装,从 iTerm2 官网 下载并安装。
- 打开 iTerm2,点击菜单栏的
iTerm2>Preferences(或快捷键Command + ,)。 - 切换到 Profiles 选项卡,选择或新建一个配置文件。
- Colors 设置:
- Color Presets:点击右侧的
Color Presets下拉菜单, iTerm2 内置了多种预设主题(如Solarized Dark、Monokai、Tomorrow Night等),直接选择即可应用,也可从网上下载第三方主题(如.itermcolors文件),通过Import导入。 - 自定义颜色:若需手动调整,点击
Colors选项卡下的Color presets旁的Advanced按钮,可分别设置:- Foreground Text:前景文字颜色。
- Background:背景颜色。
- Cursor:光标颜色。
- Selection:选中颜色。
- ANSI Colors:这是 iTerm2 配色的核心,支持 16 种 ANSI 颜色(0-15),分别对应不同的输出类型(如黑色、红色、绿色、黄色等),点击每种颜色右侧的色块,可自定义其 RGB 值,将 ANSI 0(黑色)调整为深灰,ANSI 1(红色)调整为亮红,可使目录、错误信息等更醒目。
- Color Presets:点击右侧的
- 语法高亮:在
Profiles>Advanced>Syntax Highlighting中,可开启或关闭语法高亮,并调整高亮规则的颜色。 - 导出/导入配置:配置完成后,可通过
Profiles选项卡下的Save As导出配置文件(.itermcolors或.json),方便在其他设备上同步。
iTerm2 还支持动态背景(如图片或视频)、透明度调整等功能,进一步美化命令行界面。

通过环境变量设置 LS_COLORS
无论是 Terminal 还是 iTerm2,其默认的文件列表颜色(如 ls 命令输出)由 LS_COLORS 环境变量控制,通过修改此变量,可实现不同文件类型(如目录、可执行文件、压缩包等)的差异化显示。
查看 LS_COLORS
在终端中输入以下命令,查看当前的 LS_COLORS 配置:
echo $LS_COLORS
输出格式为 key=value 对,用冒号分隔,
rs=0:di=01;34:ln=01;36:so=01;35:do=01;35:bd=01;33:cd=01;33:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:...di 表示目录(directory),ln 表示链接文件(symbolic link),ex 表示可执行文件(executable),*.tar 表示 tar 压缩包等。

修改 LS_COLORS
临时修改(当前终端会话有效):
export LS_COLORS="di=01;31:ln=01;36:ex=01;32:*.tar=01;31:..."
永久修改,需将配置写入 shell 配置文件(如 ~/.zshrc 或 ~/.bash_profile):
echo 'export LS_COLORS="di=01;31:ln=01;36:ex=01;32:*.tar=01;31:..."' >> ~/.zshrc source ~/.zshrc
LS_COLORS 常用键值说明
| 键 | 含义 | 示例值 | 效果 |
|---|---|---|---|
di | 目录 | 01;34 | 粗体蓝色 |
ln | 符号链接 | 01;36 | 粗体青色 |
fi | 普通文件 | 00 | 默认颜色 |
ex | 可执行文件 | 01;32 | 粗体绿色 |
or | orphan 符号链接 | 40;31;01 | 背景红色、粗体 |
*.tar | tar 压缩包 | 01;31 | 粗体红色 |
*.zip | zip 压缩包 | 01;33 | 粗体黄色 |
*.py | Python 文件 | 01;35 | 粗体紫色 |
值部分由 ANSI 颜色代码组成,格式为 样式;前景色;背景色,
01:粗体04:下划线30-37:前景色(黑、红、绿、黄、蓝、洋红、青、白)40-47:背景色(同上)
使用 dircolors 工具生成配置
手动编写 LS_COLORS 较为繁琐,可使用 dircolors 工具(macOS 默认未安装,通过 brew install coreutils 安装)生成默认配置:
dircolors > ~/.dircolors
编辑 ~/.dircolors 文件,修改或添加键值对,然后加载:
eval "$(dircolors ~/.dircolors)"
综合建议与最佳实践
- 终端选择:对于大多数用户,推荐使用 iTerm2,其强大的主题支持和扩展性可满足个性化需求。
- 主题一致性:保持终端配色与代码编辑器(如 VS Code、Sublime Text)主题一致,减少视觉切换成本。
- 可读性优先:避免使用过于鲜艳或对比度低的颜色组合,确保长时间使用不伤眼,深色背景配浅色文字是常见的高效方案。
- 备份配置:定期导出 iTerm2 的 Profiles 和
LS_COLORS配置,避免重装系统或更换设备时丢失设置。 - 动态更新:若需根据时间或场景切换配色,可通过编写 shell 脚本动态修改
LS_COLORS或 iTerm2 的 Profiles。
相关问答 FAQs
Q1:为什么修改了 LS_COLORS 后,ls 命令的颜色没有变化?
A1:可能的原因包括:
- 未重新加载 shell 配置文件(需执行
source ~/.zshrc或重启终端)。 - 当前终端工具不支持
LS_COLORS(极少数情况,可尝试切换到 Terminal 或 iTerm2)。 - 键值拼写错误或格式不正确(检查
LS_COLORS变量是否包含正确的key=value对)。
若问题依旧,可尝试使用dircolors工具重新生成配置。
Q2:如何在 iTerm2 中为特定命令(如 git)输出添加自定义颜色?
A2:iTerm2 本身不直接支持为特定命令添加颜色,但可通过以下方法实现:
- 使用
grep高亮:git status | grep --color=always "modified"可高亮显示 “modified” 关键词。 - 编写别名函数:在
~/.zshrc中为git命令创建别名,结合sed或awk替换特定文本并添加 ANSI 颜色代码。git_status() { git status | sed -e 's/modified:/\x1b[31mmodified:\x1b[0m/g' } alias git=git_status - 使用第三方工具:如
grc(Generic Colouriser)可预配置多种命令的输出高亮,安装后通过grc执行命令即可,grc git status。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/421617.html<
