更改linux命令行颜色 linux怎么把命令行设置不同颜色

Linux 字体颜色设置

在linux中,我们在编辑时需要对文档编辑或者一些信息的显示加上颜色,增强阅读的效果

成都创新互联是一家专业提供吉县企业网站建设,专注与网站建设、网站制作H5场景定制、小程序制作等业务。10年已为吉县众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

格式: echo -e "\033[字体颜色;字背景颜色m字符串\033[0m"

要显示什么颜色,优先是先判断位置,按语法上来说,应该是先字体色,然后是背景色,但是字体色的地方数值为43,所以判断为背景的颜色,而在后面的31本应该是背景色,结果数值31位字体的颜色,所以显示的效果是字体的颜色为红色,而不是背景红色,假设这个31是数值41,则表示背景的为红色,整体的效果就是红色背景,字体处没有颜色,为默认的白色,且效果是闪烁。

其中设置颜色的格式为:\033[ ; m …… \033[0m,其中ascii code是对颜色调用的始末.也可以表示为\e[F;Bm…….\e[0m

字背景颜色范围: 40--49                  字颜色: 30--39

例如显示红色,其中红色^[[31mred^[[0m其中^[是在插入编辑模式下按键进去额ctr+v+[这三个按键输入的。

假设写在文档tt1写入对应的语句来查看,通过cat  tt1验证效果

^[[31mred^[[0m :表示对应的字是红色字体,没有底色,如下截图

^[[31mred^[[44m:表示红色字体,底色为紫红色。假设写在文档tt1,后面cat tt1.这个屏幕底色都是蓝色,字都是红色如下截图

^[[31;44mred^[[0m:表示红色字体,字和屏幕的底色为蓝色,背景没有底色,和^[[31mred^[[44m效果一样。如下截图

^[[31;44mred^[[44m:表示红色字体,底色都是蓝色

在命令行里输入命令:echo -e '\e[43;31;4mmagedu\e[0m',得到如下的效果

PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:echo $PS1,就会输出PS1的定义:

默认的PS1变量值为 : PS1="[\u@\h \W]$"

PS1的定义中个常用的参数的含义如下:

给PS1赋值如下:

PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"

这里需要注意,颜色的结束调用符号,要放在最后面,否则当使用命令history查看历史命令时,会出现各种异常的显示

正确的结果得到的结果如下图

当把结束符调整到$前面,如PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\[\e[0m\\$",使用history查找的时候出现了如下的异常显示

注意,这里赋值的时候要用单引号才能得到要的效果,只是单纯改变颜色,其他值不改变,如果赋值用双引号,如下

错误写法:PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\$"

得到的效果如下:

如果是root时,提示符为:# ,普通用户则为:$,但是双引号后root的提示符为$,是不对的

解决办法:如果用双引号,需要再\$前再加一个\,语句如下

PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"

赋值为PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'

效果如下截图

这个例子,我们可以明显看出,\e[颜色值m这个是说明接下来的颜色从这里开始是什么颜色,\e[0m说明的是颜色的结束位置,

这里需要注意的是,如果没有通过\[   \]对每一个颜色进行界定,使用过程,如上翻历史页,就会出现显示异常。

将设置好的PS1变量写到家目录下的.bashrc 里面,这样后面开启的终端都有效。

$ vim .bashrc

打开后添加一行

PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\\$"

保存退出再次登录时显示的颜色也会是我们设定的值了。

如何更改Linux终端颜色和字体

PS1

PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:echo $PS1,就会输出PS1的定义:

PS1=’[\u@\h \W]$ ‘

linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]$

PS1的定义中个常用的参数的含义如下:

\d :#代表日期,格式为weekday month date,例如:”Mon Aug 1”

\H :#完整的主机名称

\h :#仅取主机的第一个名字

\t :#显示时间为24小时格式,如:HH:MM:SS

\T :#显示时间为12小时格式

\A :#显示时间为24小时格式:HH:MM

\u :#当前用户的账号名称

\v :#BASH的版本信息

\w :#完整的工作目录名称

\W :#利用basename取得工作目录名称,所以只会列出最后一个目录

\# :#下达的第几个命令

\ $ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

颜色语法

其中设置颜色的格式为:以\[\e[F;Bm],以\e[m结束

F

B

颜色

30 40 黑色

31 41 红色

32 42 绿色

33 43 黄色

34 44 蓝色

35 45 紫红色

36 46 青蓝色

37 47 白色

例如我们要把\u改变颜色

PS1=”[\[\e[31;40m]\u\e[m @\h \W]\$ “

这样我们就将\u的颜色设置成了前景色为红色,背景色为黑色。

改成彩色显示怎么将linux命令行的命令行

现介绍一种修改显示颜色的方法:

1、将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors。

2、编辑.dir_colors文件,找到“DIR01;34#directory”,将34改为36。

你可以找到文件的两行注释:

#Textcolorcodes:

#30=black31=red32=green33=yellow34=blue35=magenta36=cyan37=white

按照颜色对应的数字,你还可以把目录显示颜色改成其他的。

同样其他的显示效果(包括背景)也可以参照说明进行修改。

这样你就可以定制自己的linux下命令行方式下的个性化显示效果了。

命令行方式中,默认的目录显示颜色为蓝色,在黑色背景下难以看清。现介绍一种修改显示颜色的方法:

1、将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors。

2、编辑.dir_colors文件,找到“DIR01;34#directory”,将34改为36。

你可以找到文件的两行注释:

#Textcolorcodes:

#30=black31=red32=green33=yellow34=blue35=magenta36=cyan37=white

按照颜色对应的数字,你还可以把目录显示颜色改成其他的。

同样其他的显示效果(包括背景)也可以参照说明进行修改。

这样你就可以定制自己的linux下命令行方式下的个性化显示效果了。

如何配置Linux命令行的字体和背景颜色

我们使用Linux的时候,经常需要使用命令行。Linux命令行的背景默认是白色的,字体默认是黑色,14像素的。那么我们如何根据自己的喜好配置Linux命令行的字体和背景颜色呢?下面我给大家分享一下。

工具/材料

Linux Terminal

配置字体 01

首先进入Linux系统以后点击左上角的Applications,然后选择Terminal选项,如下图所示

02

接下来在打开的命令行中点击顶部的Edit菜单,然后选择Profile Preferences选项,如下图所示

03

进入Profile Preferences设置界面以后,定位到General页,去掉使用系统字体的复选框,然后点击Font后面的按钮,如下图所示

04

在弹出的选择命令行字体界面中我们选择自己喜欢的字体,然后设置字体大小即可,如下图所示

配置背景 01

背景的配置需要首先定位到Colors页卡,然后去掉系统背景的复选框,如下图所示

02

接下来点击Background Color后面的按钮进行背景色的配置,如下图所示

03

在弹出的选择命令行背景颜色的界面中我们选择一个自己喜好的颜色,点击Select按钮即可,如下图所示

04

最后回到命令行界面,我们就可以看到背景颜色已经发生了改变,如下图所示

Linux有什么命令可以更改控制台背景色

Linux控制台终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:

echo -e "\033[44;37;5m ME \033[0m COOL"

以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 “44;37;5” 和“0”。

修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的编码如下所示:

编码 颜色/动作

0 重新设置属性到缺省设置

1 设置粗体

2 设置一半亮度(模拟彩色显示器的颜色)

4 设置下划线(模拟彩色显示器的颜色)

5 设置闪烁

7 设置反向图象

22 设置一般密度

24 关闭下划线

25 关闭闪烁

27 关闭反向图象

30 设置黑色前景

31 设置红色前景

32 设置绿色前景

33 设置棕色前景

34 设置蓝色前景

35 设置紫色前景

36 设置青色前景

37 设置白色前景

38 在缺省的前景颜色上设置下划线

39 在缺省的前景颜色上关闭下划线

40 设置黑色背景

41 设置红色背景

42 设置绿色背景

43 设置棕色背景

44 设置蓝色背景

45 设置紫色背景

46 设置青色背景

47 设置白色背景

49 设置缺省黑色背景

其他有趣的代码还有:

\033[2J  清除屏幕

\033[0q  关闭所有的键盘指示灯

\033[1q  设置“滚动锁定”指示灯 (Scroll Lock)

\033[2q  设置“数值锁定”指示灯 (Num Lock)

\033[3q  设置“大写锁定”指示灯 (Caps Lock)

\033[15:40H 把关闭移动到第15行,40列

\007 发蜂鸣生beep

#######################

RedHat的字体和背景颜色的改变方法:

命令:

PS1="[\e[32;1m\u@\h \W]\\$"

export PS1="[\e[32;1m\u@\h \W]\\$" 两者的区别请查看环境变量的相关资料

解释:

\e[32;1m:这就是控制字体和背景颜色的转义字符,30~37是字体颜色、40~47是背景颜色

例子中的32;1m数字的位置是可以对调的如\e[1;32m,如果是在X环境下可以更换一下1的范围0~10,可能有的没用处:0或者不写(\e [0;32m或\e[;32m)显示浅颜色,1:显示高亮 4:加下划线.....如果改后的效果不好,但是又还原不了,那就不写m前面的数字,如\e[32;m,或者直接注销再登陆

\u \h \W:这是一些转义字符,下面详细解释:

\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

\t :显示时间为24小时格式,如:HH:MM:SS

\T :显示时间为12小时格式

\A :显示时间为24小时格式:HH:MM

\u :当前用户的账号名称

\v :BASH的版本信息

\w :完整的工作目录名称。家目录会以 ~代替

\W :利用basename取得工作目录名称,所以只会列出最后一个目录

\# :下达的第几个命令

\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

\n :新建一行

字体并不局限于一个颜色,可以有多个颜色:

PS1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\W]\\$"

以上两个命令在注销后再登陆就失效了,用下面方法使其永久生效:

vi /etc/profile

在“export PATH .....”下面添加一行:export PS1="[\e[32;1m\u@\h \W]\\$"

注销再登陆,就成功了,如果没生效,使用source /etc/profile 命令试试,或者直接重启机器。


标题名称:更改linux命令行颜色 linux怎么把命令行设置不同颜色
文章分享:http://csdahua.cn/article/hicjcp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流