登陆注册
46857

Linux bash 配色方案 - 记一次成功的 CentOS 终端配色实践

我要新鲜事2023-05-14 02:21:081

Linux bash 配置分为两部分:

命令提示符,存放在 PS1 环境变量中文件类型配色方案,存放在 LS_COLORS 环境变量中

我们可以通过如下命令来查看它们。

# 查看 bash 命令提示符配置

echo $PS1

# 查看 ls 命令颜色配置

echo $LS_COLORS

CentOS 执行结果如下图

这样,我们要修改配色方案只需要设置这两个变量即可,下面是一个示例方案:

cd ~

vi .bashrc

# 在最后添加如下两句脚本

PS1='\[\033[1;32m\]\u\[\033[00m\]@\h:\[\033[36m\]\w\[\033[1;32m\]\$ \[\033[00m\]'

LS_COLORS="$LS_COLOR:di=1;4;33;40:*.c=00;31:*.java=00;31:*.py=00;31:*.js=00;31:*.jar=00;32:*.sh=01;32:*.aac=00;33:*.au=00;33:*.flac=00;33:*.mid=00;33:*.midi=00;33:*.mka=00;33:*.mp3=00;33:*.mpc=00;33:*.ogg=00;33:*.ra=00;33:*.wav=00;33:*.axa=00;33:*.oga=00;33:*.spx=00;33:*.xspf=00;33:*.xls=04;34:*.xlsx=04;34:*.csv=00;34:*.doc=00;34:*.docx=00;34:*.ppt=00;34:*.pdf=00;34:*.jpg=00;35:*.jpeg=00;35:*.gif=00;35:*.bmp=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.svg=00;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.webm=01;35:*.mp4=01;35:*.vob=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.txt=00;36:*.md=00;36"

效果示意图如下:

Linux 预定义了可用于试用的文本属性和颜色值。

同时设置多个属性时,用分号分隔。

可以同时配置前景色和背景色,同样以分号分隔。比如:

# 文件夹 加粗、下划线、黄色字体,黑色背景显示

di=1;4;33;40

默认命令提示符显示并不怎么让人赏心悦目,显示的内容也不一定符合你的心意,这时我们就可以通过自定义来配置自己喜欢的样子。

# 查看默认命令提示符配置

echo $PS1

# 默认 bash 提示符

PS1=`[\u@\h \W]\\u - 表示用户名,username\h - 表示主机名,hostname(computer name)\w - 表示工作目录,working directory\$ - 表示如果是普通用户则显示'#39;,如果是 root 用户则显示'#'

在配置颜色前,首先必须知道颜色基本单元的格式:

\[\033[COLORm\]颜色必须放在 \[ 和 \]之间颜色必须以\033[或者 \e[开头,以m结尾,\e[和\033[作用相同在需要清除颜色信息时,使用 00,见下面例子

据此规则,我们就可以自己定自己的配色方案了:

PS1='\[\033[1;32m\]\u\[\033[00m\]@\h:\[\033[35m\]\W\[\033[1;32m\]\$ \[\033[00m\]'

分段说明如下:

\[\033[1;32m\]\u 绿色加粗显示用户名\[\033[00m\]@\h: 使用00清除颜色信息\[\033[35m\]\W 紫红色显示工作目录\[\033[1;32m\]\$ 绿色加粗显示 $ 或 #\[\033[00m\] 使用00清除颜色信息

只需把该设置放到 ~/.bashrc 文件的最后,然后执行 source .bashrc 即可生效,效果如下图:

可用于配置的特殊字符项列表:

# 查看默认颜色配置

echo $LS_COLORS

在 CentOS 中的默认设置如下:

Linux 中一切皆文件,我们可以对每种类型的文件分别配置不同的文本显示方案,下表列出了各种文件类型的编码。

使用这些编码,可以为每一个类型都设置显示方案,以冒号分隔。比如:

# 目录粗体、红色显示

di=1;31

# 目录粗体、下划线、黄色显示

di=1;4;33

# 0 - normal 是默认值,不需要指定

di=33

# 配置目录、.c 和 .java 文件的颜色方案

di=1;4;33;40:*.c=00;31:*.java=00;31LS_COLORS="$LS_COLORS:di=1;4;33;40:*.c=00;31:*.java=00;31:*.py=00;31:*.js=00;31:*.jar=00;32:*.sh=01;32:*.aac=00;33:*.au=00;33:*.flac=00;33:*.mid=00;33:*.midi=00;33:*.mka=00;33:*.mp3=00;33:*.mpc=00;33:*.ogg=00;33:*.ra=00;33:*.wav=00;33:*.axa=00;33:*.oga=00;33:*.spx=00;33:*.xspf=00;33:*.xls=04;34:*.xlsx=04;34:*.csv=00;34:*.doc=00;34:*.docx=00;34:*.ppt=00;34:*.pdf=00;34:*.jpg=00;35:*.jpeg=00;35:*.gif=00;35:*.bmp=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.svg=00;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.webm=01;35:*.mp4=01;35:*.vob=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.txt=00;36:*.md=00;36"

只需把该设置放到 ~/.bashrc 文件的最后,然后执行 source .bashrc 即可生效,效果如下图:

最后附上完整的配色方案,快来试试吧[比心]

# ~/.bashrc

# source ~/.bashrc

PS1='\[\033[1;32m\]\u\[\033[00m\]@\h:\[\033[35m\]\W\[\033[1;32m\]\$ \[\033[00m\]'

LS_COLORS="$LS_COLORS:di=1;4;33;40:*.c=00;31:*.java=00;31:*.py=00;31:*.js=00;31:*.tgz=01;31:*.taz=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.rar=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jar=00;32:*.sh=01;32:*.aac=00;33:*.au=00;33:*.flac=00;33:*.mid=00;33:*.midi=00;33:*.mka=00;33:*.mp3=00;33:*.mpc=00;33:*.ogg=00;33:*.ra=00;33:*.wav=00;33:*.axa=00;33:*.oga=00;33:*.spx=00;33:*.xspf=00;33:*.xls=04;34:*.xlsx=04;34:*.csv=00;34:*.doc=00;34:*.docx=00;34:*.ppt=00;34:*.pdf=00;34:*.jpg=00;35:*.jpeg=00;35:*.gif=00;35:*.bmp=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.svg=00;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.webm=01;35:*.mp4=01;35:*.vob=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.txt=00;36:*.yml=00;36:*.cnf=00;36:*.conf=00;36:*.md=01;36:*.json=01;36"

export TERM=xterm-256color

0001
评论列表
共(0)条