PS(Prompt Sign)指的是命令提示符,在平常運維工做中爲了方面操做管理,有時會設定PS1環境變量。
廢話很少說,下面開始記錄下Linux中PS1設置node
在/etc/.bashrc中,找到PS1變量的定義,若是沒有,手動加上:
能夠將顯示輸出到標題欄上:linux
[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"
[root@elk-node1 ~]# . /root/.bashrc
>cd /usr/local/
>pwd
/usr/local
>shell
最多見的設置:vim
1)粉紅色的bash
[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e[35;1m\][\u@\h \W]$>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 local]$>cd /usr/local/
[root@elk-node1 ~]$>cd /usr/local/
[root@elk-node1 local]$>pwd
/usr/local
[root@elk-node1 local]$>運維
2)綠色設置字體
[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e[32;1m\][\u@\h \W]$>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 local]$>cd /usr/local/
[root@elk-node1 ~]$>cd /usr/local/
[root@elk-node1 local]$>pwd
/usr/local
[root@elk-node1 local]$>spa
------------------------------------------------------------------------------------------ci
上面切換到顯示的是當前簡介路徑。那麼如何讓linux終端命令提示符號顯示全路徑,而不是當前簡介路徑?io
下面兩種方法:
1)第一種方法:在/root/.bashrc文件下添加下面內容
[root@elk-node1 ~]# vim /root/.bashrc
.......
export PS1="[\u@\h \w]\$"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$ #顯示的是全路徑
若是將上面的內容改成export PS1="[\u@\h \w]"#,那麼顯示的就是#符號
[root@elk-node1 ~]# vim /root/.bashrc
.......
export PS1="[\u@\h \w]"#
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]#cd /usr/local/
[root@elk-node1 /usr/local]# #顯示的是全路徑
注意:默認的PS1="[\u@\h \W]\$",其中\W就是路徑的設置選項,大寫的W是簡介模式,小寫的w爲全路徑模式。
2)第二種方法:在/root/.bashrc文件下添加下面內容:
[root@elk-node1 ~]# vim /root/.bashrc
.......
export PS1="[\u@\h \`pwd\`]$"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$ #顯示的是全路徑
改成#號
[root@elk-node1 ~]# vim /root/.bashrc
.......
export PS1="[\u@\h \`pwd\`]#"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$ #顯示的是全路徑
-------------------------------------------------------------------------------------------------------------------------------
使用方法:
# PS1='自定義內容'
注意兩邊的單引號
示例: PS1='(\u@\H \d\t)\$'
----------------------------------------------------------------------------------------------------------------
PS1:就是用戶平時的提示符。
PS2:第一行沒輸完,等待第二行輸入的提示符。
Linux系統提示符是用系統變量PS1來定義的。通常系統默認的形式是:[username@host工做目錄]$.
用echo $PS1能夠獲得PS1的值,即PS1="[\u@\h \w]"\$
登陸後能夠更改PS1的顯示樣式,可是當退出重啓登陸進入系統後,樣式又變成系統默認的樣式了,若是要完全改變它的樣式,只能從配置文件中改。
PS是在用戶根目錄下的.bash_profile中定義的。
如:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startupprograms
#如下是設定的PS1的值
PS1="[\u@\h \w]\$"
PATH=$PATH:$HOME/bin
#使用export把PS1輸出,以使它能夠在子shell中生效,這會形成ROOT用戶的也採用此樣式
#export PS1 要慎用
export PATH
unset USERNAME
下面簡單說說環境下默認的特殊符號所表明的意義:
\d :表明日期,格式爲weekday month date,例如:"Mon Aug1"
\H:完整的主機名稱。例如:個人機器名稱爲:fc4.linux,則這個名稱就是fc4.linux
\h :僅取主機的第一個名字,如上例,則爲fc4,.linux則被省略
\t :顯示時間爲24小時格式,如:HH:MM:SS
\T :顯示時間爲12小時格式
\A :顯示時間爲24小時格式:HH:MM
\u :當前用戶的帳號名稱
\v :BASH的版本信息
\w :完整的工做目錄名稱。家目錄會以 ~代替
\W :利用basename取得工做目錄名稱,因此只會列出最後一個目錄
\# :下達的第幾個命令
\$ :提示字符,若是是root時,提示符爲:# ,普通用戶則爲:$
==================================================
咱們能夠經過設置PS1變量使提示符成爲彩色。在PS1中設置字符序列顏色的格式爲:
\[\e[F;Bm\]
其中``F''爲字體顏色,編號30~37;``B''爲背景色,編號40~47。
可經過``\e[0m''關閉顏色輸出;特別的,當B爲1時,將顯示加亮加粗的文字,詳細請看下面的顏色表與代碼表。
顏色表
前景 背景 顏色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代碼 意義
-------------------------
0 OFF
1 高亮顯示
4 underline
5 閃爍
7 反白顯示
8 不可見
若是想要設置終端提示符的樣式只要把$PS1在~/.bahrc指定便可比,好比個人設置以下:
設置一:
PS1="\[\e[32m\][\u@\h \w]$\[\e[m\]"
export PS1
效果:
[LinuxSong@test ~]$
設置二:
if [ $TERM = 'linux' ]; thenexport PS1="[\[\e[36;1m\]\u@\h\[\e[31;1m\]\w\[\e[32;1m\]]> "zhcon --utf8clearelif [ $TERM = "xterm" ]; thenexport PS1="[\[\e[31;1m\]\w\e[0m]> "fi