美文网首页
MacOS X终端为ls命令设置颜色输出

MacOS X终端为ls命令设置颜色输出

作者: AlgoPeek | 来源:发表于2019-04-27 16:45 被阅读0次

概述

ls命令是linux系统下运用的最多的命令之一,有时候我们希望ls能彩色化输出,以区分文件、目录或不同文件类型,让我们一眼就能辨识出不同的文件类型。在Apple MacOS X或FreeBSD操作系统,我们并不用安装其他设置,只需要在执行ls命令是指定-G参数即可开启默认彩色化输出。

MacOS X ls命令开启彩色化输出

man ls看一下-G参数的说明:

-G Enable colorized output. This option is equivalent to defining CLICOLOR in the environment.

就是说ls指定-G参数可以开启彩色化输出,相当于在环境变量中设置了CLICOLOR。我们可以把-G参数设置为ls命令的默认参数,将如下内容添加到~/.bash_profile文件末尾处:

alias ll='ls -l -G'
alias ls='ls -G'

添加之后执行source ~/.bash_profile,再ls看看是不是已经彩色化输出了?

我们没有指定设定任何颜色,但在终端,我们已经能够看到彩色化的输出,这是因为当我们指定了-G参数后,环境变量中默认设置了CLICOLOR,并且LSCOLORS环境变量默认设置为了:

exfxcxdxbxegedabagacad

这是啥?继续往下看如何定制化彩色输出吧。

定制化彩色输出

这个时候,我们任然需要依靠这个"男人(man)",man ls。手册中说明环境变量CLICOLORLSCOLORS会影响到ls彩色化输出。我们可以设置环境变量CLICOLORLSCOLORS来定制化彩色输出,同样在.bash_profile文件末尾设置增加以下环境变量:

export CLICOLOR=1
export LSCOLORS= exfxcxdxbxegedabagacad

同样使之生效:source ~/.bash_profile

对于LSCOLORS环境变量,其格式为fb配对的11组字符串,其中f是前景颜色(foreground color), b是背景颜色(background color),支持的颜色指定如下:

Code Meaning (Color)
a Black
b Red
c Green
d Brown
e Blue
f Magenta
g Cyan
h Light grey
A Bold black, usually shows up as dark grey
B Bold red
C Bold green
D Bold brown, usually shows up as yellow
E Bold blue
F Bold magenta
G Bold cyan
H Bold light grey; looks like bright white
x Default foreground or background

对于LSCOLORS=exfxcxdxbxegedabagacad每组含义如下:

ls Attribute Foreground color Background color
directory e x
symbolic link f x
socket c x
pipe d x
executable b x
block special e g
character special e d
executable with setuid bit set a b
executable with setgid bit set a g
directory writable to others, with sticky bit a c
directory writable to others, without sticky bit a d

所以,对于默认LSCOLORS的值:LSCOLORS=exfxcxdxbxegedabagacad表示:蓝色前景,默认背景的目录;洋红前景,默认背景的链接文件;...

更多参考

  1. https://www.cyberciti.biz/faq/apple-mac-osx-terminal-color-ls-output-option/

  2. http://osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/

  3. https://geoff.greer.fm/lscolors/

  4. http://linux-sxs.org/housekeeping/lscolors.html

相关文章

网友评论

      本文标题:MacOS X终端为ls命令设置颜色输出

      本文链接:https://www.haomeiwen.com/subject/whjknqtx.html