Linux 终端命令提示符总结

 

         目录

一、系统环境

二、命令提示符 PS1

2.1 PS1 普通特殊字符

2.2 颜色特殊字符

2.3 设置 PS1 

三、总结

四、参考文献


    之前因为有工作接触到命令提示符这点,本篇文章就总结下命令提示符的使用和设置,方便日后查询和使用。

一、系统环境

    CentOS Linux release 8.0.1905 (Core)

二、命令提示符 PS1

2.1 PS1 普通特殊字符

    在 CentOS 中,使用 PS1 来表示命令提示符,可以通过设置变量 PS1 来设置自己想要的命令提示符,它是由一系列的特殊符号和字符组成的,先来看下 CentOS 中默认的命令提示符为:

[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]#

其中,root 代表当前用户,localhost 代表主机名, ~ 代表当前目录为用户主目录, # 代表当前用户是 root,剩余的 “[、]、@”代表普通字符。那都有哪些特殊字符呢,如下所示:

\u : 当前用户的账号名称;

\h : 仅取主机名的第一个名字;

\W : 使用 basename 取得工作目录名称,所以只会列出最后一个目录;

\$ : 提示符,如果当前用户是 root,则为 # ,否则为 $;

\d : 代表日期,格式为 weekday month date,例如:“Mon Aug 1”;

\H : 完整的主机名称;

\t : 显示时间为 24 小时格式,如:HH:MM:SS;

\T : 显示时间为 12 小时格式;

\A : 显示时间为25小时格式,如:HH:MM;

\v : BASH的版本信息;

\w : 显示完整的路径,其中家目录会以~代替;

\# : 执行的第几个命令;

2.2 颜色特殊字符

    还可以对命令提示符设置颜色,颜色格式主要分为三部分:

(1)配置字符颜色,格式为:

\[\e[F;Bm\]

(2)要改变颜色的字符;

(3)配置颜色结束符,格式为:

\e[m

其中,F 代表字体颜色,B 代表背景颜色,F 和 B 可选的颜色如下所示:

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

2.3 设置 PS1 

(1)临时设置,重启后失效

在普通设置PS1='[\u@\h \W]\$'的基础上,增加 \t 时间参数,如下所示:

[root@bogon ~]# echo $PS1
[\u@\h \W]\$
[root@bogon ~]# PS1='[\u@\h \t \W]\$'
[root@bogon 18:00:28 ~]#

在此基础上,再加上 bash\v ,如下所示:

[root@bogon 18:05:49 ~]#PS1='[\u@\h bash\v \t \W]\$'
[root@bogon bash4.4 18:05:54 ~]#

设置颜色,设置字体为黄色,背景为蓝色(这里设置的颜色没有在博客中显示出来,可以自己试下)如下所示:

[root@localhost 18:31:15 ~]#echo $PS1
[\u@\h \t \W]\$
[root@localhost 18:33:37 ~]#PS1='\[\e[33;44m\][\u@\h \t \W]\$\e[m'
[root@localhost 18:34:54 ~]#

可以根据上面列出的特殊字符设置自己的样式。

(2)永久设置

    永久设置需要将PS1的配置写入配置文件(修改配置文件.bashrc),如下所示:

[root@localhost ~]# vim .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# add PS1
PS1='[\u@\h \t \W]\$'     # 添加 PS1 配置

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
[root@localhost ~]#

修改后在当前终端不会立即生效,重新打开终端会生效,如下所示:

Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Aug 22 18:30:19 2020 from 192.168.231.1
[root@localhost 18:31:15 ~]#

三、总结

    终端命令提示符是根据 PS1 进行设置的,根据规则自行设置即可,没特殊的需求,默认即可,后面的文章会继续介绍PS2、PS3、PS4。

四、参考文献

[1] https://www.cnblogs.com/haimingwey/archive/2012/04/15/2450488.html

[2] https://www.cnblogs.com/liuzgg/p/11663000.html

[3] http://c.biancheng.net/view/3175.html

[4] https://www.jianshu.com/p/d1719835ec95

猜你喜欢

转载自blog.csdn.net/u011074149/article/details/108089181