平时我们操作的系统命令行界面文本默认黑底白字,有时候会看不惯这种全篇都是白色字符,这个时候可以通过改变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. Spring MVC 简介

  2. Mac 使用 NFS 连接 Centos 上的共享文件夹

    Mac 使用 NFS 连接 Centos 上的共享文件夹 NFS介绍 网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由升阳公司开发,于1984年向外公 ...

  3. css css3新特性

    css  css3新特性 一.css3是什么? 我不喜欢把已有的概念从一个地方抄到另一个地方,还是喜欢如下方式. 参考百度百科: http://baike.baidu.com/link?url=z2V ...

  4. help手册使用

    属性的方法名的一般规律: 设置的属性名: set+属性名 获取属性值: 1.如果是bool类型,可能是 is+属性名 或者 属性名 2.不是bool类型,就是属性名

  5. 小程序开发笔记【二】,抽奖结果json数据拼装bug解决

    抽奖结果数据json格式数据拼接bug,如下图,只发布了两个奖项,每个奖项设置2个奖品,但最后拼接数据的时候出现3个奖项 json数据格式如下 "luckyResult":[ { ...

  6. iframe相关操作

    内容摘要 父级获取iframe中的元素 父级触发iframe中的函数 iframe触发父级元素绑定的事件 iframe触发父级函数方法 iframe触发父级元素的值 parent.html <! ...

  7. Python 之 装饰器

    装饰器 中的“器”代指函数 所以装饰器本质是函数,用来装饰其它函数.例如:为其它函数添加其他功能 实现装饰器需要的知识:  高阶函数+嵌套函数 == 装饰器 1.函数就是“变量” 函数就是“变量”说的 ...

  8. Burp Suite初探

    Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 一.安装部署 需要配置java环境,首先安装java,然后配置 ...

  9. C++基础学习2:命名空间

    C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为 namespace. 科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地 ...

  10. zabbix_get命令不存在

    yum install zabbix-get.x86_64