平时我们操作的系统命令行界面文本默认黑底白字,有时候会看不惯这种全篇都是白色字符,这个时候可以通过改变PS1环境变量来改变文本颜色。我个人喜欢黑底绿字的搭配,以下是我个人的命令行界面样式:

注意:以下所有代码中的连续‘\\’均表示一个‘\’字符

一. 首先需要知道的是.bashrc文件,它是用户目录下的一个隐藏文件。这个文件主要保存个人的一些个性化设置,如命令别名、路径等。也即在同一个服务器上,只对某个用户的个性化设置相关。设置字体颜色的PS1环境变量也在这个文件中配置。

  1. <span style="font-size:14px;"># 到达用户目录
  2. cd
  3. # 编辑.bashrc文件
  4. vim .bashrc</span>

二. 寻找PS1变量。

如果是root用户,可以看到被注释的一句命令:

PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '

这就是设置文本颜色的示例语句。将这一句改为以下语句就可以看到最开始的截图效果了。

PS1='${debian_chroot:+($debian_chroot)}\[\e[01;31m\]\u@\[\e[01;34m\]\h:\[\e[01;33m\]\w\$ \[\e[01;32m\] '

对于普通用户,同样在.bashrc文件中可以找到如下代码:

if  [ "$color_prompt" = yes ]: then

PS1 = '' 此处省略

else

PS1 = '' 此处省略

这个依据个人的配置来选择一个修改,也可以将两处的PS1都修改。我需要修改的是else后的PS1。

三. 分析设计

设置颜色的片段是\\[\e[01;31m\\],将这句运用在多个显示内容上,就可以看到不同的显示效果。将颜色片段除掉,就可以看到基本的组成格式:\u@\h:\w\$。其中\u是当前用户名,\h为主机名,\w为完整的工作目录,\$依据用户是否为root显示为#或者$。这个基本格式可以自己定制,比如在$或者#之前的内容用中括号括起来:[\u@\h:\w]\$。对于转义序列可以参考第四部分。

配置PS1变量就是在基本格式中添加相应的颜色片段\\[\e[F;Bm\\]。其中F表示前景色,B表示背景色。当B为1的时候,会显示为加粗加亮的字符。需要说明的是,当B为1时,F和B交换位置得到的结果是一样的。当然,还是建议将语句书写为标准格式:

PS1='${debian_chroot:+($debian_chroot)}\\[\e[31;01m\\]\u[\e[0m\\]@\\[\e[34;01m\\]\h:\\[\e[33;01m\\]\w\$ \\[\e[32;01m\\] '

代码\\[\e[0m\\]表示重置颜色样式,所以如果想再次使用原来的黑底白字样式,就修改为一下语句即可:

PS1='${debian_chroot:+($debian_chroot)}\\[\e[0m\\]\u@\h:\w\$ '

前景色背景色对应代码参见第四部分。

四. 参考

引自http://blog.chinaunix.net/uid-108431-id-3252935.html

1. 转义序列:

  1. \d :代表日期,格式为weekday month date,例如:"Mon Aug1"
  2. \H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
  3. \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
  4. \t :显示时间为24小时格式,如:HH:MM:SS
  5. \T :显示时间为12小时格式
  6. \A :显示时间为24小时格式:HH:MM
  7. \u :当前用户的账号名称
  8. \v :BASH的版本信息
  9. \w :完整的工作目录名称。家目录会以 ~代替
  10. \W :利用basename取得工作目录名称,所以只会列出最后一个目录
  11. \# :下达的第几个命令
  12. \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

2. 前景色背景色:

  1. 前景 背景 颜色
  2. ------------------------
  3. 30   40   黑色
  4. 31   41   紅色
  5. 32   42   綠色
  6. 33   43   黃色
  7. 34   44   藍色
  8. 35   45   紫紅色
  9. 36   46   青藍色
  10. 37   47   白色

3. 代码及意义

    1. 代码  意义
    2. -------------------------
    3. 0     OFF
    4. 1     高亮显示
    5. 4     underline
    6. 5     闪烁
    7. 7     反白显示
    8. 8     不可见

【Linux】Debian 8 设置命令行界面的文本颜色的更多相关文章

  1. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  2. Linux(Debian)网卡设置

    debian IP地址配置 vim /etc/network/interface   配置网卡eth0的IP地址 auto eth0 表示网卡随系统自动请 iface eth0 inet static ...

  3. (转)TextView 设置背景和文本颜色的问题

    在做一个项目,突然遇到如下问题 比如:在color.xml中定义了几个颜色 <color name="white">#FFFFFF</color> < ...

  4. Linux上使用设置printf显示的颜色

    我们经常看到别的屏幕五颜六色的很是羡慕,看着很炫是吧.其实我们也可以自己做一个简单的修改,是我们的显示结果也呈现出不同的颜色.shell脚本可能设置的比较多,但是我们平常使用C语言却很少设置它的颜色, ...

  5. linux debian 时间设置中无法选择“自动设定时间和日期”

    没有安装ntpdate 执行:apt-get install ntpdate ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)s1a.time.ed ...

  6. linux BASH shell下设置字体及背景颜色

    BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字符的显示颜色改为黑色 \e[31m 将字符的显示颜色改为红色 \e ...

  7. Linux终端和win32控制台文本颜色输出

    在使用putty.secureCRT.XShell等终端仿真器连接linux系统时,ls.vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性. 通常我们可以使用echo命令加-e ...

  8. VC编程中如何设置对话框的背景颜色和静态文本颜色

    晚上编一个小程序,涉及到如何设置对话框的背景颜色和静态文本颜色.这在VC6.0中本来是一句话就搞定的事.在应用程序类中的InitInstance()函数添加: //设置对话框背景和文本颜色 SetDi ...

  9. xamarin android 在代码中如何设置文本颜色

    xamarin android 在代码中如何设置文本颜色 TextView v = FindViewById<TextView>(Android.Resource.Id.Message); ...

随机推荐

  1. 2019年第十届蓝桥杯省赛-糖果(一维状压dp)

    看到20的数据量很容易想到状压dp. 开1<<20大小的数组来记录状态,枚举n个糖包,将其放入不同状态中(类似01背包思想) 时间复杂度O(n*(2^20)). import java.u ...

  2. SingleClass单例类

    前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模 ...

  3. Go:创建新进程(os.StartProcess源码解读)

    关于如何使用go语言实现新进程的创建和进程间通信,我在网上找了不少的资料,但是始终未能发现让自己满意的答案,因此我打算自己来分析这部分源代码,然后善加利用,并且分享给大家,期望大家能从中获得启发. 首 ...

  4. 算法训练 Pollution Solution(计算几何)

    问题描述 作为水污染管理部门的一名雇员,你需要监控那些被有意无意倒入河流.湖泊和海洋的污染物.你的其中一项工作就是估计污染物对不同的水生态系统(珊瑚礁.产卵地等等)造成的影响. 你计算所使用的模型已经 ...

  5. 洛谷P3709 大爷的字符串题(莫队)

    题目背景 在那遥远的西南有一所学校 /*被和谐部分*/ 然后去参加该省省选虐场 然后某蒟蒻不会做,所以也出了一个字符串题: 题目描述 给你一个字符串a,每次询问一段区间的贡献 贡献定义: 每次从这个区 ...

  6. [BZOJ1799][Ahoi2009]self 同类分布(数位dp)

    题目描述 给出两个数 a,ba,b ,求出 [a,b][a,b] 中各位数字之和能整除原数的数的个数. 输入输出格式 输入格式: 一行,两个整数 aa 和 bb 输出格式: 一个整数,表示答案 输入输 ...

  7. USACO 2.1.3 Sorting a Three-Valued Sequence(sort3)

    这道题就是给出由123三个值的一个数字序列,然后让你把这个序列升序排序,求最小的交换次数.注意这里可以不是相邻交换. 刚开始一看题的时候,还以为t=a a=b b=t那种水题呢,然后发现不是水题.. ...

  8. springcloud系列八 整合Hystrix

    feign本身是支持Hystrix的,所以不需要引入其他依赖: 我们可以看看feign这个项目的依赖,就是引入这个依赖的pom.xml 要想看这个很简单,点击那个依赖进去就可以了 点进去就可以看到 & ...

  9. Mybatis学习笔记(五) —— Mapper.xml(输入映射和输出映射)

    一.parameterType(输入类型) 1.1 传递简单类型 <!-- 根据用户id查询用户 --> <select id="queryUserById" p ...

  10. Applese 的毒气炸弹(最小生成树)

    链接:https://ac.nowcoder.com/acm/contest/330/G 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言5242 ...