(015) Linux之定制提示符
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
本小节将讲解一个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会话中输入的命令数 |
\$ | 在非管理员权限下输出“$”。在管理员权限下输出“#” |
\[ | 标志一个或多个非打印字符序列的开始。用于签入非打印的控制字符,使其以一定方式操作终端仿真器,比如移动光标或更改文本颜色 |
\] | 标志着非显示字符序列的结束 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。