当我们登陆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
这样就可以立马生效了。