查看 Shell
Shell 是一个程序,一般都是放在
/bin
或者
/user/bin
目录下,当前 Linux 系统可用的 Shell 都记录在
/etc/shells
文件中。
/etc/shells
是一个纯文本文件,你可以在图形界面下打开它,也可以使用 cat 命令查看它。
通过 cat 命令来查看当前 Linux 系统的可用 Shell:
$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
在现代的 Linux 上,sh 已经被 bash 代替,
/bin/sh
往往是指向
/bin/bash
的符号链接。
如果你希望查看当前 Linux 的默认 Shell,那么可以输出 SHELL 环境变量:
$ echo $SHELL
/bin/bash
输出结果表明默认的 Shell 是 bash。
Shell 提示符
对于普通用户,Base shell 默认的提示符是美元符号
$
;对于超级用户(root 用户),Bash Shell 默认的提示符是井号
#
。该符号表示 Shell 等待输入命令。
[root@localhost ~]#
这种格式包含了以下三个方面的信息:
- 启动 Shell 的用户名,也即 mozhiyan;
- 本地主机名称,也即 localhost;
- 当前目录,波浪号
是主目录的简写表示法。~
Shell 通过
PS1
和
PS2
两个环境变量来控制提示符格式:
- PS1 控制最外层命令行的提示符格式。
- PS2 控制第二层命令行的提示符格式。
要显示提示符的当前格式,可以使用 echo 输出 PS1 和 PS2:
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]# echo $PS2
>
字符 | 描述 |
---|---|
\a | 铃声字符 |
\d | 格式为“日 月 年”的日期 |
\e | ASCII转义字符 |
\h | 本地主机名 |
\H | 完全合格的限定域主机名 |
\j | shell当前管理的作业数 |
\1 | shell终端设备名的基本名称 |
\n | ASCII换行字符 |
\r | ASCII回车 |
\s | shell的名称 |
\t | 格式为“小时:分钟:秒”的24小时制的当前时间 |
\T | 格式为“小时:分钟:秒”的12小时制的当前时间 |
\@ | 格式为am/pm的12小时制的当前时间 |
\u | 当前用户的用户名 |
\v | bash shell的版本 |
\V | bash shell的发布级别 |
\w | 当前工作目录 |
\W | 当前工作目录的基本名称 |
\! | 该命令的bash shell历史数 |
\# | 该命令的命令数量 |
\$ | 如果是普通用户,则为美元符号 ;如果超级用户(root 用户),则为井号 。 |
\nnn | 对应于八进制值 nnn 的字符 |
\\ | 斜杠 |
\[ | 控制码序列的开头 |
\] | 控制码序列的结尾 |
[root@localhost ~]# PS1="[\t][\u]\$ "
[22:12:45][root]$
原创文章请随便转载。愿和大家分享,并且一起进步。-- 江 coder