美文网首页
Linux中 PS1 的用法-亲测有效

Linux中 PS1 的用法-亲测有效

作者: 端木安玉 | 来源:发表于2020-10-20 20:06 被阅读0次

    先展示个人结果


    image.png

    1.了解PS1

    PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。

    在终端输入命令:

    # echo $PS1
    

    可得到当前PS1的定义值:

    PS1='[\u@\h \W]\$ '
    

    PS1的常用参数以及含义:

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

    所以linux默认的命令行提示信息的格式

       PS1='[\u@\h \W]\$ '  的意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]#
    

    2.颜色设置参数

    在PS1中设置字符颜色的格式为:[\e[F;Bm]........[\e[0m],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,[\e[0m]作为颜色设定的结束。

    颜色对照表:

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

    只需将对应数字套入设置格式中即可。

    比如要设置命令行的格式为绿字黑底([\e[32;40m]),显示当前用户的账号名称(\u)、主机的第一个名字(\h)、完整的当前工作目录名称(\w)、24小时格式时间(\t),可以直接在命令行键入如下命令:

    # PS1='[\[\e[32;40m\]\u@\h \w \t]$ \[\e[0m\]'
    

    经过多次测试后,最终确定了一个适合我自己的格式:

    # PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
    

    但注意这样的设置只是临时性的.

    3.修改.bashrc文件,永久保存命令行样式.

    上面的设置的作用域只有当前终端的登陆有效,关闭终端或退出登录即刻失效。要想永久性的保存设置,需要修改.bashrc配置文件。

    键入命令:

    1 # cd
    2 # ls -la
    

    现在可以看到.bashrc这个文件。

    编辑.bashrc:

    # vim .bashrc
     
    

    加入这一行:

       PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ " 
    

    保存退出。

    重新加载bash配置文件:

    # source .bashrc
    

    即可立即并永久生效了。

    相关文章

      网友评论

          本文标题:Linux中 PS1 的用法-亲测有效

          本文链接:https://www.haomeiwen.com/subject/unfjmktx.html