命令提示符的格式设置

服务器初始默认的命令提示符很长,而且没什么意义。在我们使用Putty等工具进行服务器与本地之间的数据传输时,往往需要用到服务器的用户名@服务器外部IP地址:当前路径。有时候记不住IP地址就需要去查,很麻烦,如果将这些信息标注在命令提示符处再合适不过。

这里用到的就是Linux中的PS1这个环境变量。你可以通过如下命令查看当前的默认设置:

$ echo $PS1

PS1的常用参数及其含义如下表:

参数描述
\d代表日期,格式为weekday month date,例如:“Mon Aug 1”
\H完整的主机名称
\h仅取主机名中的第一个名字
\t显示时间为24小时格式,如:HH:MM:SS
\T显示时间为12小时格式
\A显示时间为24小时格式:HH:MM
\u当前用户的账号名称
\vBASH的版本信息
\w完整的工作目录名称
\W利用basename取得工作目录名称,只显示最后一个目录名
\#下达的第几个命令
$提示字符,如果是root用户,提示符为 # ,普通用户则为 $

另外为了在终端控制台复制命令时更准确,也为了看起来更清楚,我们往往把命令提示符与命令的字体颜色设为不同。颜色的语法格式如下:

\[\e[F;Bm\]其他参数\[\e[0m\]

颜色设置开始标记\[\e[F;Bm\]中的F代表前景色,即字体色,B代表背景色。结束标记\[\e[0m\]中的0代表的是关闭所有属性。如果这里不关闭,那么颜色设置将会向右到底,也就是除了命令提示符,命令也会被设成这种颜色。当然,这种格式下,在开始和结束标记之间的即为被设置颜色的域。颜色码F与B的具体描述如下表:

颜色F的码值B的码值
黑色3040
红色3141
绿色3242
黄色3343
蓝色3444
紫红色3545
青蓝色3646
白色3747

另外还有一些特殊码值,控制颜色以外的其他格式:

码值描述
0关闭所有属性
1高亮加粗
4下划线
5闪烁
7反显
8消隐

说完了这些语法格式,那么具体要如何更改设置呢,这里举一个小例子,是我自己用的设置。首先要进入到当前用户的根目录,如下两种方法都可以:

$ cd ~
$ cd /home/username

然后编辑.bashrc文件,这个文件是用户的环境变量设置文件。这就相当于Windows下在我的电脑的属性中设置环境变量一样,后文还会讲到其他相关的Trick。

$ vim .bashrc

然后将你的设置随便加到最上面或者最下面都行:

export PS1='[\[\e[32;40m\]\u\[\e[0m\]@123.123.123.123:\[\e[35;40m\]\w\[\e[0m\]]\$ '

然后保存.bashrc。要让设置生效还需要一步,你可以退出账户重新登录(默认会刷新配置),也可以输入以下命令:

$ source .bashrc

我们来分析以上设置的含义:

  • 开头有一个左方括号[
  • 使用颜色设置将\u参数括起来,得到一个黑色背景绿色文字的用户名
  • @123.123.123.123:这里的IP替换成你自己的外部IP地址,注意由于关闭了属性,所以这里是默认的黑底白字
  • 使用颜色设置将\w参数括起来,得到一个黑色背景紫色文字的全路径
  • 最后是一个]接着一个用户权限提示符和一个空格

效果如下:

如果你想设置高亮等特殊属性,要在颜色设置开始标记的地方将背景色B设置为1之类的。如下就设置了用户名为高亮的绿色:

export PS1='[\[\e[32;1m\]\u\[\e[0m\]@123.123.123.123:\[\e[35;40m\]\w\[\e[0m\]]\$ '

注意,注意 网上很多教程给出的颜色设置标记没有被\[\]括起来。这将会导致命令长度超过终端屏宽后无法自动换到下一行,会\r一下然后覆盖掉本行的开头。这是一个很恼人的问题,因为如果你查putty不能自动换行之类的根本查不到解决方案,后来才想起来可能是PS1值的错误导致的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值