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

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

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

前景              背景               颜色

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

30                40               黑色

31                41               紅色

32                42               綠色

33                43                黃色

34                44               藍色

35                45               紫紅色

36                46               青藍色

37                47               白色

代码               意义

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

0                 OFF

1                 高亮显示

4                 underline

5                 闪烁

7                 反白显示

8                 不可见

序列 说明

a
ASCII 响铃字符(也可以键入 07 )

d "Wed Sep
06" 格式的日期

e
ASCII 转义字符(也可以键入 33 )

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 (用零代替未使用的数字,如 "07" )表示的 ASCII 字符

\ 反斜杠

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

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

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

export PS1="u@h:w$"

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

你可以尝试修改为

export PS1="u"

export PS1="h"

export PS1="hello@u "

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

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

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

颜色=33[代码;前景;背景m

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

注意:

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

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

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

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

做个试验吧

在~/.bashrc中添加

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

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

我的设置如下:

PS1="[33[1;32;40m][[33[0;32;40m]u@h:[33[1;35;40m]w[33[1;32;40m]][33[1;31;40m]$[33[1;32;40m]"

效果图如下:

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

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

另外我使用的是Ubuntu10.1

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

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

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


 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

[转载]Linux下终端字体颜色设置方法的更多相关文章

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

    颜色=\033[代码;前景;背景m 如:\033[1;32;40m表示高亮显示字体为绿色,背景色为黑色 颜色=\[\033[代码;前景;背景m\] echo -e "this is a \0 ...

  2. CSS 文本字体颜色设置方法(CSS color)

    CSS 文本字体颜色设置方法(CSS color) 一.认识CSS 颜色(CSS color) 这里要介绍的是网页设置颜色包含有哪些:网页颜色规定规范. 1.常用颜色地方包含:字体颜色.超链接颜色.网 ...

  3. linux 下 NetBeans 字体大小设置

    在linux mint 12下安装了 NetBeans7.1.2使用之后,觉得字体不好看,字体普遍特别大,分三个方面改NetBeans的字体. 1. 代码字体大小 点击NetBeans菜单,工具--& ...

  4. linux下终端字体彩色显示

     linux下python彩色显示   跨平台彩色显示库https://pypi.python.org/pypi/colorama   jlive@MacBook-Pro:py_demo $pytho ...

  5. [转载]linux下清除Squid缓存的方法记录

    在日常运维工作中,只要用到squid缓存服务,就会常常被要求清理squid缓存. 比如公司领导要求删一篇新闻,新闻是生成的静态.运维人员把服务器上静态的新闻页面删除了后,不料代理服务器上缓存还有.缓存 ...

  6. [转载] Linux下查看内存使用情况方法总结

    原文: http://9iphp.com/linux/1247.html 强烈推荐 htop.

  7. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  8. linux 的终端字体色和背景色的修改方法(一)

    更改Linux系统终端的颜色主题 随着Linux系统在服务器端的崛起,Linux也在慢慢进军个人桌面系统领域.如果在使用Linux系统的终端时,对其颜色主题不是很满意,该怎么修改颜色的主题呢?今天笔者 ...

  9. 超链接字体颜色设置(通过html/css的设置方法)

    超链接字体颜色设置是通过css来设置,a链接的颜色设置常用的有以下两种,1.超链接a的初始状态颜色,2.超链接字体的鼠标滑过颜色,还有两种病不常用:3.超链接字体的已访问颜色,4.超链接字体在按下鼠标 ...

随机推荐

  1. JQuery实现可编辑的表格

    点击表格后可直接编辑,回车或鼠标点击页面其他地方后编辑生效,按Esc可取消编辑 第一种单击表格可以编辑的方法 //相当于在页面中的 body标签加上onload事件$(function() {    ...

  2. 学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等

    http://www.cnblogs.com/del/archive/2010/04/16/1713886.html 跳转指令分三类:一.无条件跳转: JMP;二.根据 CX.ECX 寄存器的值跳转: ...

  3. java判断一个字符串是否包含某个字符

    一.contains方法 1:描述 java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列 2:声明 public boolean cont ...

  4. 谁为你的app捡肥皂

    2048奇迹,是大多数个人开发者的梦寐以求的期望.而做出flappy bird这样跨时代的游戏,则能够让我们赚的盆满钵满.那么我们怎么样使我们app与众不同,脱颖而出了. 我们这些凡夫俗子程序员们,对 ...

  5. 【Maven】Maven-maven编译报错 -source 1.5 中不支持 lambda 表达式

    Maven-maven编译报错 -source 1.5 中不支持 lambda 表达式 maven lambda_百度搜索 maven编译报错 -source 1.5 中不支持 lambda 表达式 ...

  6. Spring(十五):通过注解配置 Bean

    在ClassPath中扫描组件 1)组件扫描(component scanning):Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件: 2)特定组件包含: --- @C ...

  7. You must have a copy of the scp binary locally to use the scp feature

    在运行docker-machine scp 命令的时候,报错: "You must have a copy of the scp binary locally to use the scp ...

  8. ElasticSearch5.X—模糊查询和获取所有索引字段

    最近在做一个分布式数据存储的项目,需要用到ElastciSearch加速数据查询,其中部分功能需要进行模糊查询和统计索引库中已经建立的索引字段,网上查阅了很多资料,最终把这两个问题解决了,不容易!下面 ...

  9. 【Python】使用geocoder找出本机IP所在经纬度和城市

    代码: import geocoder g = geocoder.ip('me') print(g.latlng) # 经纬度 print(g.city) # 所在城市 输出: C:\Users\ho ...

  10. ORA-16038: log 3 sequence# 103 cannot be archived

    [size=large]今天在自己机器做了个实验,插入10万条,由于空间少,重启数据库时出现: [size=x-large]SQL> startup ORACLE instance starte ...