1. 程式人生 > >Linux提示字符設置

Linux提示字符設置

... 完整 又是 ase startup 本地 所在 利用 下回

當我們登陸linux後,顯示的提示字符究竟是什麽意思呢?又可不可以設置呢。

首先來看看默認的顯示:

普通用戶:
[[email protected] ~]$

root用戶:
[[email protected] ~]#

可以看到,普通用戶和root用戶的顯示是有差別的。那每個符號又是什麽意思呢 ?

fuwh/root:當前登陸的用戶。

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

~:表示的就是當前所在的目錄,我現在是在自己的家目錄,所以就顯示的~

$/#:這個是提示字符,如果是root的話,就是#,普通用戶的話就是$

那麽,我們可不可以設置個性化的顯示呢,不如說,現在當你移動到別的目錄下的時候是這樣顯示的:

[[email protected] stu22]$ pwd
/home/fuwh/stu/stu22
[[email protected] stu22]$

那我們希望,如果能夠顯示當前路徑的完整路徑就好了。

那這個在哪裏配置呢?

其實,控制提示字符顯示的是一個變量PS1的值。我們可以用set來查看當前PS1的值

[[email protected] 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』後面省略
\t :顯示時間,為 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 時,提示字符為 # ,否則就是 $ 啰~

那通過上面的變量說明,我們如果要顯示全路徑的話,應該就知道怎麽修改了吧?

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

[[email protected] stu22]$ PS1=‘[\u@\h \w]\$ ‘
[[email protected] ~/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

這樣就可以立馬生效了。

Linux提示字符設置