Mac terminal ls 命令下,各种文件类型的颜色

500 阅读2分钟

我的 terminal 习惯使用 bash (提示符是 $ )
使用 ls 命令后,输出全是相同的绿色。无法分辨哪些是文件,哪些是文件夹。使用体验差。
希望不同类型的文件,用不同颜色显示,方便区分。

Linux 默认配色

  • 蓝色:目录(文件夹)
  • 绿色:可执行文件
  • 黑色:普通文件
  • 深蓝色:链接文件
  • 红色:压缩文件
  • 粉红色:图像文件
  • 紫色:音频文件
  • 青色:视频文件
  • 白色:其他文件

配置

打开 ~/.bash_profile ,添加下面内容,保存文件,

export CLICOLOR=1
export LSCOLORS=ExGxFxdaCxDaDahbadeche

重启终端运行即可

CLICOLOR & LSCOLORS 介绍

CLICOLOR

用来设置是否进行颜色的显示。
CLI是Command Line Interface的缩写。

LSCOLORS

用来设置当 CLICOLOR 被启用后,各种文件类型的颜色。

值的长度为22位,每两个字母为一组,分别用于设置某个文件类型的文字颜色和背景颜色。
一共11组,按照先后顺序,对以下的文件类型进行设置:

  1. directory:这是一个目录
  2. symbolic link:这是一个符号链接
  3. socket:这是一个socket链接
  4. pipe: 这是一个管道
  5. executable: 这是一个可执行文件
  6. block special: 这是一个字符特殊文件
  7. character special: 这是一个块特殊文件
  8. executable with setuid bit set: 可执行以不同的UID运行的程序
  9. executable with setgid bit set: 可执行以一个额外的组特权运行的程序
  10. directory writable to others, with sticky bit
  11. directory writable to others, without sticky bit

LSCOLORS中,各字母代表的颜色如下:

a 黑色 
b 红色      代表压缩文件或者压缩包
c 绿色      代表可执行文件
d 棕色      代表块文件
e 蓝色      代表目录
f 洋红色 
g 青色      代表链接
h 浅灰色 

x 系统默认颜色

# 注意,大小写是有区别的。
# 大写的 都是对应颜色的粗体。
A 黑色粗体
...