Linux下终端字体颜色设置方法

    网上类似的文章有很多,但是都是转来转去的,没有经过测试,按照很多文章的方法会造成你设置之后的终端在换行和删除输入字符时终端显示会乱七八糟,于是我重新整理了一下,希望对像我这样的初学者有帮助。

    其实就是如何设置PS1变量的问题;

首先我们要知道如下几张表:

  

 前景            背景             颜色

  ---------------------------------------

  30               40              黑色

  31               41              紅色

  32               42              綠色

  33               43              黃色

  34               44              藍色

  35               45              紫紅色

  36               46              青藍色

  37               47              白色

           1         透明色

 

  代码             意义

  -------------------------

  0                OFF

  1                高亮显示

  4                underline

  5                闪烁

  7                反白显示

  8                不可见

 

序列说明

\a ASCII响铃字符(也可以键入 \007

\d "Wed Sep 06"格式的日期

\e ASCII转义字符(也可以键入 \033

\h主机名的第一部分(如 "mybox"

\H主机的全称(如 "mybox.mydomain.com"

\j在此 shell中通过按 ^Z挂起的进程数

\l shell的终端设备名(如 "ttyp4"

\n换行符

\r回车符

\s shell的名称(如 "bash"

\t 24小时制时间(如 "23:01:01"

\T 12小时制时间(如 "11:01:01"

\@带有 am/pm 12小时制时间

\u用户名

\v bash的版本(如 2.04

\V Bash版本(包括补丁级别) ?/td>;

\w当前工作目录(如 "/home/drobbins"

\W当前工作目录的“基名 (basename)”(如 "drobbins"

\!当前命令在历史缓冲区中的位置

\#命令编号(只要您键入内容,它就会在每次提示时累加)

\$如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"

\xxx插入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII字符

\\反斜杠

\[这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash能够正确计算自动换行。

\] 这个序列应该出现在非打印字符序列之后。

 

首先我们不考虑添加颜色的问题,首先在 ~/.bashrc文件添加,

export PS1="\u@\h:\w\$"

 

 

 

然后新开一个终端,你看不到和以前有什么区别,因为我们一般系统默认的设置就是这样的,关于\u,\h,\w和\$的含义参见上表,

你可以尝试修改为

export PS1="\u"

export PS1="\h"

export PS1="hello@\u"

其实修改字体颜色的公式很简单为:

PS1=颜色+字符或序列+颜色+字符或序列......

关于颜色的设置它也有一个公式

颜色=\033[代码;前景;背景m

如:\033[1;32;40m表示高亮显示字体为绿色,背景色为黑色

注意:

要将全部非打印字符用专用的 bash 转义序列 "\[" "\]"括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。

这点很关键要不然等你设好了颜色,你的终端换行会乱七八糟

所以我们的颜色需要这样(网上很多文章都漏过了这一步)

颜色=\[\033[代码;前景;背景m\]

做个试验吧

在~/.bashrc中添加

PS1="\[\033[1;32;40m\]\u" 新开终端或者使用命令source ~/.bashrc更新一下变量,效果如下(可能你的背景还为白色,那不要紧后面我会告诉你在哪里设置

你应该看到你的字体是绿色)

设置效果

我的设置如下:


PS1="\[\033[1;32;1m\][\[\033[0;32;1m\]\u:\[\033[1;35;1m\]\w\[\033[1;32;1m\]]\[\033[1;31;1m\]\$\[\033[1;37;1m\]"





效果图如下:

效果


关于终端背景为白色的问题点击Edit->profiles...设置如下

设置结果

 

如果觉得这样设置不好看,你可以自己对着表修改。

另外我使用的是Ubuntu10.1

0在设置PS1变量时,我开始只在/root/.bashrc添加了PS1定义,但是发现只有root用户

终端颜色改变,于是我又在~/.bashrc中添加了PS1变量,这样root用户和一般用户的终端字体才都改过来了,

我在etc/.profile中添加了PS1变量也是不行,很奇怪。所以你最好在/root/.bashrc和~/.bashrc中都添加PS1变量的定义

 

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 在Linux终端中,可以使用ANSI转义序列来设置字体颜色。具体方法如下: 1. 设置前景色(即字体颜色): \033[30m 黑色 \033[31m 红色 \033[32m 绿色 \033[33m 黄色 \033[34m 蓝色 \033[35m 紫色 \033[36m 青色 \033[37m 白色 2. 设置背景色: \033[40m 黑色 \033[41m 红色 \033[42m 绿色 \033[43m 黄色 \033[44m 蓝色 \033[45m 紫色 \033[46m 青色 \033[47m 白色 例如,要将字体颜色设置为红色,可以在终端中输入: echo -e "\033[31mHello World!\033[m" 其中,\033[31m表示设置字体颜色为红色,\033[m表示恢复默认颜色。 ### 回答2: 在Linux终端中,我们可以通过修改字体的颜色来增加终端的可读性或美观度。以下是一些常用的方法: 1. 通过ANSI转义序列来设置颜色 ANSI转义序列是一系列控制码,用于改变文本输出的颜色、背景、样式等。在终端中,我们可以使用ANSI转义序列来设置文本的前景色和背景色。 例如,使用以下命令设置字体颜色为红色: ``` echo -e "\033[31mThis is red text\033[0m" ``` 其中,`\033[31m`表示将接下来的文本颜色设置为红色,`\033[0m`表示将文本颜色恢复为默认颜色。其他常用颜色对应的代码如下: | 颜色 | 前景色 | 背景色 | |---|---|---| | 黑色 | \033[30m | \033[40m | | 红色 | \033[31m | \033[41m | | 绿色 | \033[32m | \033[42m | | 黄色 | \033[33m | \033[43m | | 蓝色 | \033[34m | \033[44m | | 紫色 | \033[35m | \033[45m | | 青色 | \033[36m | \033[46m | | 白色 | \033[37m | \033[47m | 2. 修改终端的配置文件 在Linux下,我们可以通过修改终端的配置文件来设置终端的字体、颜色、光标等外观特性。在GNOME Terminal中,配置文件为`~/.config/gtk-3.0/gtk.css`。在该文件中,我们可以使用CSS样式来设置终端的外观。 例如,使用以下代码设置终端的背景色为灰色,字体颜色为白色: ```css TerminalWindow, vte-terminal { background-color: #2b2b2b; color: #ffffff; } ``` 3. 使用终端配色方案 除了手动设置颜色之外,我们还可以使用终端配色方案来快速设置终端的外观。在Linux下,常用的终端配色方案有Solarized、Dracula、Monokai等。 例如,在GNOME Terminal中,我们可以通过在“首选项”中选择“配色方案”来加载预设的配色方案。如果需要自定义配色方案,可以通过安装`gnome-terminal-colors-solarized`等工具来实现。 总之,无论是使用ANSI转义序列、修改终端配置文件还是使用配色方案,设置终端字体颜色都是很容易实现的。有了好的字体配色,我们可以更愉快地使用终端,提高工作效率。 ### 回答3: 在Linux终端中,我们可以通过设置字体颜色来改变终端的外观。下面介绍几种常用的设置方式。 一、直接使用ANSI转义序列 ANSI转义序列指的是一些特殊的字符序列,可以在终端中展示不同的颜色和样式。具体格式为:\033[显示方式;前景色;背景色m 其中,显示方式、前景色和背景色的值可以对应不同的颜色效果,具体值如下: 显示方式:0默认,1高亮,4下划线,5闪烁,7反显 前景色:30黑,31红,32绿,33黄,34蓝,35紫,36深绿,37白色 背景色:40黑,41红,42绿,43黄,44蓝,45紫,46深绿,47白色 例子: echo -e "\033[31mThis is red text\033[0m" 该命令将输出红色的"This is red text" 二、修改终端配置文件 Step 1:打开终端,输入命令:vi ~/.bashrc Step 2:找到以下两行 PS1=’\h:\w\$ ’ unset color_prompt force_color_prompt Step 3:修改成如下内容 PS1=’\[\e[1;31m\]\h:\w\$ \[\e[m\]’ unset color_prompt force_color_prompt Step 4:保存,退出,输入命令:source ~/.bashrc 其中,\[\e[1;31m\]指定字体为红色,\[\e[m\]则关闭颜色设置。 三、使用Zsh Zsh是一个功能强大的终端Shell,提供了许多自定义设置选项,可以通过修改~/.zshrc文件来设置颜色。 Step 1:打开终端,输入命令:vi ~/.zshrc Step 2:在文件末尾添加以下内容 export PS1="%F{red}%n@%m%f:%F{blue}%~%f%% " Step 3:保存,退出 其中,%F{red}指定字体为红色,%F{blue}指定字体为蓝色。 以上就是几种常用的Linux终端字体颜色设置方式,不同的设置方式有不同的适用场景,可以根据个人需要选择合适的设置方式。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值