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

其实就是如何设置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. 什么是Platform Services Controller

    Platform Services Controller (PSC) is a component of the VMware Cloud Infrastructure Suite. PSC deal ...

  2. Valid Number leetcode java

    题目: Validate if a given string is numeric. Some examples: "0" => true " 0.1 " ...

  3. CentOS 6和CentOS 7防火墙的关闭

    CentOS6.5查看防火墙的状态: 1 [linuxidc@localhost ~]$service iptable status 显示结果: 1 2 3 4 5 [linuxidc@localho ...

  4. checkbox反复调用attr('checked', true/false)只有第一次生效

    /** * 全选 */ function checkAll() { $("input[name=ids]").attr("checked", true); } ...

  5. git学习一二三一

    svn用的多,但是我是一个geek,git这个美丽的scm,我怎能错过了?于是最近在全方位的窥视它的酮体,把我的一点心得分享给大家把. 先说一说给git的历史, Git是一个开源的分布式版本控制系统, ...

  6. WordPress 获取指定分类ID的分类信息

    get_term:直接从数据库中获取分类信息get_the_category:使用post_id作为参数,先根据post_id查询对应的文章然后再返回对应的分类信息,如果没有文章信息则返回Null 之 ...

  7. dubbo Framework pic

    dubbo Framework pic

  8. SpringBoot添加对Mybatis分页插件PageHelper的支持

    1.修改maven配置文件pom.xml,添加对pageHelper的支持: <!--pagehelper--> <dependency> <groupId>com ...

  9. Mysql中使用Group_Concat将列组合进来。

    一.上例子: ) as CityId,group_concat(stationId) ,NameCn from `wd-area` where type='cn3k' and areaId like ...

  10. AppScan--图解Web扫描工具IBM Security App Scan Standard

    App Scan用法:   首先打开IBM Security AppScan Standard 工具   点击 创建新的扫描 ->  点击”常规扫描“ ->之后你就会看到如下图:     ...