(015) Linux之定制提示符

十年运维系列之基础篇 - Linux

作者:曾林 

联系:[email protected]

网站:www.jplatformx.com

版权:文章未经同意请勿转载


一、引言

      本小节将讲解一个Linux shell的小特性:shell提示符。和Linux中很多程序一样,shell提示符的可配置型很高。通过介绍,我们会发现shell和终端仿真器程序的内部工作机制。

 

二、提示符的分解

      系统的默认提示符看起来如下所示:

技术分享

      可以看到提示符中包含了用户名、主机名和当前的工作目录。提示符是由名为PS1(prompt string 1的缩写,即提示符字符串1)的环境变量定义的。注意:如果输出的结果同上图范例不同,也不需要担心。每一个Linux发行版本对此提示符字符串的定义都会有所不同,有一些甚至定义得很奇怪。

      由上图可以看出,PS1包含了一些提示符中出现的符号,比如方括号、@符号和$符号,但是其余的部分则令人困惑。下图将具体解释一下shell提示符中使用的转义字符。

转义字符 含义
\a ASCII铃声。在遇到该转义字符时,计算机将发出哗哗声
 \d 当前日期,以星期、月、日的形式表示,如“Mon May 26” 
 \h 本地机器的主机名,但是不带域名 
 \H 完整的主机名 
 \j 当前shell会话中进行的任务个数 
 \l 当前终端设备的名称 
 \n 换行符 
 \r 回车符 
 \s shell程序的名称 
 \t 当前时间(24小时制),格式为小时:分钟:秒 
 \T 当前时间(12小时制) 
 \@ 当前时间(12小时制,格式为AM/PM) 
 \A 当前(24小时制),格式为小时:分钟 
 \u 当前用户的用户名 
 \v shell的版本号 
\V shell的版本号和发行号 
 \w 当前工作目录名 

\W

当前工作目录名称的最后一部分 
\!  当前命令的历史编号 
 \# 当前shell会话中输入的命令数 
 \$ 在非管理员权限下输出“$”。在管理员权限下输出“#” 
 \[ 标志一个或多个非打印字符序列的开始。用于签入非打印的控制字符,使其以一定方式操作终端仿真器,比如移动光标或更改文本颜色 
 \] 标志着非显示字符序列的结束 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。