Linux下如何修改终端提示符?

发表于:2013-1-24 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:熊猫人    来源:51Testing软件测试网采编

  Linux终端大家想必都清楚吧,最近在使用的时候发现在进入到某个文件夹目录比较深的层次后,终端提示的绝对路径很长,这样给人的感觉很不习惯,在这里给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色:

  PS1变量简介

  PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。

  可以使用 man bash命令查看bash手册,找到该变量支持的特殊字符,以及这些特殊字符的意义:

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

  修改终端提示符

  查看默认提示符设置

$ echo $PS1
\[\e
]0;\u@\h:\w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

  修改默认设置,将如下命令添加到当前登录用户的~/.bashrc文件中,然后使用source使其生效,如果有不明白~/.bashrc文件作用的,可以参考我的这篇文章介绍:.bash_profile .bashrc profile 文件的作用的执行顺序

$ vi~/.bashrc
#在文件最后添加如下设置
export PS1="[\u@\h \W] \$ "
$ source ~/
.bashrc#使其设置生效

  颜色设置

  在PS1中设置字符序列颜色的格式为:[\e[F;Bm]

  其中“F”为字体颜色,编号30~37;“B”为背景色,编号40~47。

  下面看下颜色表:

前景背景     颜色
------------------------
30     40     黑色  
31     41     红色  
32     42     绿色  
33     43     黄色  
34     44     蓝色  
35     45     紫红色  
36     46     青蓝色  
37     47     白色

  效果控制代码:

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

  修改提示符颜色示例

$ PS1="\[\e[32m\]#\##\[\e[1;31m\]\u@\[\e[36m\]\h \w]\$\[\e[m\"

  说明:

  1、‘\[\e[32m\]’用来设置‘#\##’的颜色为绿色,#\##就是显示现在运行的是第几条命令

  2、‘[\e[31m\]’设置‘\u@’的颜色为红色并高亮显示,如果指定多个数字需要用分号隔开。\u@ 就是当前登录的用户名后跟一个‘@’符号。

  3、‘\[\e[36m\]’设置‘\h\w’为青蓝色,\h表示主机名的第一位,如果主机名为centos6.lampbo.org,那么就显示centos6;\w将显示完整的绝对路径。

  4、‘\$’ 提示字符,如果是root时,提示符为:# ,普通用户则为:$。

  5、‘\[\e[m\]’使用来关闭颜色设置的。要是你没有这个的话;那么,你的命令提示符,包括你通过命令提示符输出的东西都是和最后一次的颜色设置相同。

  6、为了能够在启动和登录是可以保持刚刚设置的变量,需要将PS1的设置加入到用户home目录的.bashrc文件后。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号