在Linux系统的终端环境中,通过ls命令列出目录内容时,不同属性的文件会以不同颜色展示,这是系统为了帮助用户快速区分文件类型设置的视觉标识,不同颜色对应不同的文件类型或权限特征。

Linux默认文件颜色含义
Linux系统默认的文件颜色规则是通用的,大部分发行版都采用类似的配置,具体对应关系如下:
| 颜色 | 对应文件类型 | 说明 |
|---|---|---|
| 蓝色 | 目录 | 表示这是一个文件夹,可以进入查看内部内容 |
| 绿色 | 可执行文件 | 拥有执行权限的普通文件,比如编译后的二进制程序、脚本文件 |
| 红色 | 压缩包或归档文件 | 常见的tar、gz、zip、rpm等格式的压缩或打包文件 |
| 浅蓝色 | 软链接文件 | 指向另一个文件或目录的快捷方式,类似Windows的快捷方式 |
| 红色闪烁 | 损坏的软链接 | 链接指向的原始文件已经被删除,链接失效 |
| 黄色 | 设备文件 | 存放在/dev目录下的块设备、字符设备等系统设备文件 |
| 粉色 | 套接字文件 | 用于进程间网络通信的套接字文件,常见于/run或/tmp目录 |
| 灰色 | 其他文件 | 没有特殊权限、不属于上述类型的普通文件,比如文本文件、图片文件 |
如何查看当前系统的颜色配置
文件的颜色规则是通过环境变量LS_COLORS来定义的,我们可以通过以下命令查看当前系统的配置:
# 查看LS_COLORS环境变量的内容 echo $LS_COLORS
输出的内容是一串用冒号分隔的配置项,每个配置项的格式是文件类型=颜色代码,比如di=01;34表示目录(di)使用粗体(01)蓝色(34)显示。常见的类型标识如下:
di:目录fi:普通文件ln:软链接pi:管道文件so:套接字文件bd:块设备文件cd:字符设备文件or:损坏的软链接ex:可执行文件
颜色代码的格式是[属性;]前景色[;背景色],属性可选,前景色和背景色可选,常见的颜色数值如下:
- 属性:00(默认)、01(粗体)、04(下划线)、05(闪烁)、07(反显)
- 前景色:30(黑色)、31(红色)、32(绿色)、33(黄色)、34(蓝色)、35(粉色)、36(青色)、37(白色)
- 背景色:40(黑色)、41(红色)、42(绿色)、43(黄色)、44(蓝色)、45(粉色)、46(青色)、47(白色)
如何自定义文件颜色规则
如果需要修改默认的文件颜色,可以通过修改LS_COLORS环境变量来实现,临时修改可以执行如下命令:
# 临时修改目录显示为绿色粗体,普通文件显示为红色 export LS_COLORS="di=01;32:fi=01;31"
如果需要永久生效,可以把上面的export命令添加到用户的bash配置文件~/.bashrc中,之后执行source ~/.bashrc让配置生效。如果需要更复杂的配置,也可以使用dircolors命令生成默认配置再修改:
# 生成默认的LS_COLORS配置并保存到文件 dircolors -p > ~/.dircolors # 编辑~/.dircolors文件修改对应规则后,在~/.bashrc中添加以下内容 eval "$(dircolors -b ~/.dircolors)"
关闭或开启ls命令的颜色显示
如果不需要ls命令显示颜色,可以使用--color=never参数:
# 关闭颜色显示 ls --color=never
如果需要强制开启颜色显示,可以使用--color=always参数,默认情况下ls命令会根据输出终端自动判断是否显示颜色:
# 强制开启颜色显示 ls --color=always