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

其实就是如何设置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. [leetcode]Best Time to Buy and Sell Stock III @ Python

    原题地址:https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/ 题意: Say you have an array ...

  2. 如何确定HyperThreading是否在Linux上已开启?

    命令如下: dmidecode -t processor | grep HTT 参考资料 ============= https://unix.stackexchange.com/questions/ ...

  3. C#线程同步方法汇总

    我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在 后台处理一大堆数据,但还要使用户界面处于可操作状态:或者你的程序需要访问一些外部资源如数据库或网络文件等.这些情况你都可以创建一个子线 ...

  4. window.location属性用法及解决一个window.location.search为什么为空的问题

    通常用window.location该属性获取页面 URL 地址: 1.什么是window.location? 比如URL:http://b.a.com:88/index.php?name=kang& ...

  5. 【Java】Java-XML解析利器-SAX-高性能-易用

    Java-XML解析利器-SAX-高性能-易用 java xml 大_百度搜索 (3)java处理比较大的xml文件 - SegmentFault How to read UTF-8 XML file ...

  6. 从数据库中取 datetime类型,界面展示 yyyy-MM-dd

    //处理提问时间,去掉时分秒 if(array!=null && array.size()>0){ for(int i=0;i<array.size();i++){ JSO ...

  7. VIM的buffers

    原文:http://ju.outofmemory.cn/entry/13522 重新在不同的 tab 中打开多个关闭的buffer 文件, https://stackoverflow.com/ques ...

  8. LINUX 查找tomcat日志关键词

    #查询catalina.out日志文件中的关键词为2016-04-13 11:26:00的日志信息 grep -C 10 '2016-04-13 11:26:00' catalina.out |mor ...

  9. css 下边框

    float: left; width: 1200px; height: 42px; background-color: #fff0; /* background-color: #4f4aff; */ ...

  10. python 读取单所有json数据写入mongodb(单个)

    <--------------主函数-------------------> from pymongo import MongoClientfrom bson.objectid impor ...