• Linux提示字符设置


    当我们登陆linux后,显示的提示字符究竟是什么意思呢?又可不可以设置呢。

    首先来看看默认的显示:

    普通用户:
    [fuwh@localhost ~]$
    
    root用户:
    [root@localhost ~]#

    可以看到,普通用户和root用户的显示是有差别的。那每个符号又是什么意思呢 ?

    fuwh/root:当前登陆的用户。

    @localhost:连接的主机名,我是连接的本地的,所以就是localhost了

    ~:表示的就是当前所在的目录,我现在是在自己的家目录,所以就显示的~

    $/#:这个是提示字符,如果是root的话,就是#,普通用户的话就是$

    那么,我们可不可以设置个性化的显示呢,不如说,现在当你移动到别的目录下的时候是这样显示的:

    [fuwh@localhost stu22]$ pwd
    /home/fuwh/stu/stu22
    [fuwh@localhost stu22]$

    那我们希望,如果能够显示当前路径的完整路径就好了。

    那这个在哪里配置呢?

    其实,控制提示字符显示的是一个变量PS1的值。我们可以用set来查看当前PS1的值

    [fuwh@localhost stu22]$ set
    BASH=/bin/bash
    PS1='[u@h W]$ '
    PS2='> '
    PS4='+ '
    PWD=/home/fuwh/stu/stu22
    
    .....其他省略

    可以看到目前PS1的值为[u@h W]$ ,当我们每次按下回车之后,最后显示的时候都会去读取这个值。

    那其中这些配置又是什么意思呢?

    d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"
    H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』
    h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略
    :显示时间,为 24 小时格式的『HH:MM:SS』
    T :显示时间,为 12 小时格式的『HH:MM:SS』
    A :显示时间,为 24 小时格式的『HH:MM』
    @ :显示时间,为 12 小时格式的『am/pm』样式
    u :目前使用者的账号名称,如『root』;
    v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示
    w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代;
    W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
    # :下达的第几个命令。
    $ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~

    那通过上面的变量说明,我们如果要显示全路径的话,应该就知道怎么修改了吧?

    只需要做如下修改就可以了哦

    [fuwh@localhost stu22]$ PS1='[u@h w]$ '
    [fuwh@localhost ~/stu/stu22]$

    是不是很简单,很方便?

    但是,我们发现,每次我们退出重新登陆之后,这个变量就没有了。

    为了能够让下次登陆也有效,我们需要激昂这个变量的值写入到我们自己的配置文件当中去。

    在Centos中,登陆分为两种:

    login:普通的文字界面,帐号密码登陆

    non-login:在登陆图形界面后打开的命令行终端

    这两种登录方式在登陆的时候,读取的配置文件是不一样的

    login:

      1、etc/profile,这个属于系统整体的配置

      2、~/.bash_profile或~/.bash_login或~/.profile这个属于个人配置(只有当~/.bash_profile不存在才会去读~/.bash_login,~/.bash_login不存在才会读~/.profile)

    non-login:~/bashc

    我们查看~/.bash_profile的内容:

    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/bin
    export PATH

    发现,它会去读取~/.bashrc的内容。里面也配置了PASH的值,所以如果我把一个脚本之类的文件放在家目录的bin目录下,就可以直接执行。

    所以我们考虑,在这个文件真的最后加上PS1的配置、

    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/bin
    PS1='[u@h A w]$ '
    export PS1
    export PATH

    修改之后,发现还没有生效。因为没有去读取配置文件,如果我们下次登陆就会生效。

    但是我们也可以主动的去读取这个配置文件通过source或者.来读取。

    source ~/.bash_profile

    这样就可以立马生效了。

  • 相关阅读:
    Java面试题:栈和队列的实现
    Java面试题:如何对HashMap按键值排序
    经典的Java基础面试题集锦
    9个Java初始化和回收的面试题
    20个高级Java面试题汇总
    Spring、Spring MVC、MyBatis整合文件配置详解2
    Spring、Spring MVC、MyBatis整合文件配置详解
    Spring:基于注解的Spring MVC
    margin百分比的相对值--宽度!
    jquery.cxSelect插件,城市没单位
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7259037.html
Copyright © 2020-2023  润新知