胆敢说用过ls的人,都应该知道。ls可以通过加上–color参数,实现不同类型的文件(目录)以不同的颜色显示。

但是有时候ls显示的颜色的确有点让人找抽,比如我们常常用黑色作为终端背景。而ls命令常常会用蓝色表示普通目录,这么一来就很是影响分辨率了。

怎么改变这一现状呢?很简单,检查一下你到LS_COLORS变量。

如果发现没有任何输出,那说明采用的就是默认的。至于默认的是怎么样的,执行:

就可以看到默认的配置了。效果类似:

archives or compressed (bright red)

.tar 01;31

.tgz 01;31

.arj 01;31

解释下,明眼一看就知道,第一列表示文件类型/扩展名,第二列表示效果,如颜色、字形啊等等,语法为“背景;前景”。

文件类型直接用,有以下几种:

fi FILE 普通文件

di DIR 目录

ln SYMLINK, LINK, LNK 链接

pi FIFO, PIPE 管道

do DOOR Door

bd BLOCK, BLK 块设备

cd CHAR, CHR 字符设备

or ORPHAN 目标不存在到符号链接

so SOCK 套接字Socket

su SETUID 属主setuid有效的文件

sg SETGID 属组setuid有效到文件

tw STICKY_OTHER_WRITABLE Directory that is sticky and other-writable (+t,o+w)

ow OTHER_WRITABLE Directory that is other-writable (o+w) and not sticky

st STICKY Directory with the sticky bit set (+t) and not other-writable

ex EXEC Executable file (i.e. has ‘x’ set in permissions)

mi MISSING Non-existent file pointed to by a symbolic link (visible when you type ls -l)

lc LEFTCODE, LEFT Opening terminal code

rc RIGHTCODE, RIGHT Closing terminal code

ec ENDCODE, END Non-filename text

*.extension Every file using this extension e.g. *.jpg

扩展名通过“.”加上扩展名,种类就海了去了。

效果的具体代码如下(感谢Mr N提供):

<li>效果列表:
  • 00 默认

  • 01 加粗

  • 04 下划线

  • 05 闪烁

  • 07 反显

  • 08 隐藏

<li>颜色列表:
  • 31~37分别表示前景色为红、绿、橙、蓝、紫、青、灰

  • 90~97分别表示前景色为深灰、淡红、淡绿、黄色、淡蓝、淡紫、青绿、白色

  • 40~47分别表示背景色为黑、红、绿、橙、蓝、紫、青、灰

  • 100~106分别表示背景色为深灰、淡红、淡绿、黄色、淡蓝、淡紫、青绿、

说完规则了,再说说怎么个修改法。就像前文所述及的,直接通过设置环境变量LS_COLORS,值是就按照前面的语法设置即可。多个项通过冒号隔开。比如: