对于从Unix/Linux平台转到Mac的同学来说,“终端”是经常要使用的一个工具。不过可能有很多人已经发现了,当我们使用ls命令来显示目录内容的时候,“终端”对于目录、可执行文件等特殊类型的文件并没有使用颜色来显示,只有使用“ls -G”时,才能显示颜色,这可真是不方便啊。有没有方法可以默认显示颜色呢?方法当然有。
方案一
第一个方案是让ls自动变成ls -G。我们要在用户目录下(~)创建一个名为.bash_profile的文件,如果这个文件已经存在,我们直接编辑这个文件就可以了。在~/.bash_profile中加入下面的内容:
alias ls=”ls -G”
保存文件后,重新启动“终端”。这时,运行ls命令,我们就可以看到文件已经可以用彩色来显示了。
方案二
上面这个方案虽然解决了彩色显示问题,但是还有一点不足,就是无法设置显示的颜色。比如说,我想用红色显示目录,那么这种方法是做不到的。下面我们来看看一个更好的解决方案。同样是修改~/.bash_profile文件,在文件中加入下面两行配置。
export CLICOLOR=1export LSCOLORS=gxfxaxdxcxegedabagacad
保存文件,重新运行“终端”,我们发现目录的颜色由蓝色变成了青色。
配置
那么应该怎样来配置成我喜欢的颜色呢?下面我们就来详细说一些这些配置。
~/.bash_profile是bash shell中当前登录用户的配置文件。bash是“终端”中默认的shell。
alias ls=”ls -G”是给”ls -G”起了一个别名,当执行ls时,就相当于执行了ls -G。
CLICOLOR是用来设置是否进行颜色的显示。CLI是Command Line Interface的缩写。
LSCOLORS是用来设置当CLICOLOR被启用后,各种文件类型的颜色。LSCOLORS的值中每两个字母为一组,分别设置某个文件类型的文字颜色和背景颜色。LSCOLORS中一共11组颜色设置,按照先后顺序,分别对以下的文件类型进行设置:
- directory
- symbolic link
- socket
- pipe
- executable
- block special
- character special
- executable with setuid bit set
- executable with setgid bit set
- directory writable to others, with sticky bit
- directory writable to others, without sticky bit
LSCOLORS中,字母代表的颜色如下:
- a 黑色
- b 红色
- c 绿色
- d 棕色
- e 蓝色
- f 洋红色
- g 青色
- h 浅灰色
- A 黑色粗体
- B 红色粗体
- C 绿色粗体
- D 棕色粗体
- E 蓝色粗体
- F 洋红色粗体
- G 青色粗体
- H 浅灰色粗体
- x 系统默认颜色
所以,如果我们想把目录显示成红色,就可以把LSCOLORS设置为bxfxaxdxcxegedabagacad就可以了