Linux系統修改命令提示符格式及顏色


 

放到全局環境變量。注意自己是放全局還是自己家目錄下環境的

echo "export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'" >>/etc/profile
source  /etc/profile

 

 

 

[root@mcw1 /opt]$ tail -1 /etc/profile
export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

 這個空格 是划分主機名和路徑之間的空格符

 單引號和雙引號沒有影響

 

 

一、修改命令提示符格式
今天跟大家分享一下如何在Linux系統中修改命令提示符格式以及命令提示符顏色的技巧。通常情況下,我們的命令提示符是這個樣子的

[root@RedHat7 ~]#
我們不難發現其命令提示符組成的各個部分:
[用戶@計算機名 當前目錄]#
#----超級用戶
$----普通用戶
當前目錄是以簡略格式顯示,如果要顯示當前目錄的具體路徑,用 pwd命令,這個命令組成方式,又一個環境變量PS1控制,下面我們具體了解一下該環境變量。我們先調取該變量的具體參數

[root@RedHat7 ~]# echo $PS1
[\u@\h \W]\$
[root@RedHat7 ~]#
1
2
那么里面的 [\u@\h \W]$分別代表什么呢?

PS1(是數字1而不是字母l),每個版本bash的PS1變量內的特殊符號可能有些小的差異,
你可以先man bash 一下。
下面是RedHat7環境下默認的特殊符號所代表的意義:
\d :代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H :完整的主機名稱。例如:我的機器名稱為:RedHat7.linux,則這個名稱就是RedHat7.linux
\h :僅取主機的第一個名字,如上例,則為RedHat7,而.linux則被省略
\t :顯示時間為24小時格式,如:HH:MM:SS
\T :顯示時間為12小時格式
\A :顯示時間為24小時格式:HH:MM
\u :當前用戶的賬號名稱
\v :BASH的版本信息
\w :完整的工作目錄名稱。家目錄會以 ~代替
\W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄
\# :下達的第幾個命令
\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$
默認的PS1內容為: PS1='[\u@\h \W]\$ ' ,
所以默認的提示符就是: [root@linux ~]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
當我們了解上述參數之后,在實際操作過程中,我們如果想顯示主機全名以及完整的工作目錄,我們就需要修改PS1的相應參數,並寫入/etc/profile文件中
例如:修改前,我們默認的PS1對於主機名、目錄都只是顯示一部分,

[root@RedHat7 ~]# hostname
RedHat7.linux
[root@RedHat7 ~]#
[root@RedHat7 ~]# cd /etc/sysconfig/network-scripts/
[root@RedHat7 network-scripts]#
1
2
3
4
現在我們想讓主機名和工作路徑全部顯示出來,根據上面參數,我們需要用到大寫的H和小寫的w,我們用echo命令將修改后的PS1追加到 /etc/profile文件中(不建議這樣操作,最好還是vim 進到文件去編輯好些),並更新該文件

[root@RedHat7 ~]# echo "PS1='[\u@\H \w]\$' " >> /etc/profile
[root@RedHat7 ~]# source /etc/profile
1
如果是在虛擬機里面或者是Xshell中,我們可能還要重啟或斷開連接再次連接才能看到結果。

[root@RedHat7.linux ~]$ cd /etc/sysconfig/network-scripts/
[root@RedHat7.linux /etc/sysconfig/network-scripts]$
1
此時,我們可以看到主機全名和工作路徑的全部。

二、修改命令提示符顏色
我們先看一下這張圖片中的命令提示符。

是怎么做到的呢?我們需要知道PS1顏色相關參數

顏色值設置
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    白色
根據顏色表,套用入字符顏色設置格式中,就可以對linux終端命令行顏色進行個性化設置。
比如要設置命令行的格式為綠字黑底,顯示當前用戶的賬號名稱、
主機的第一個名字、完整的當前工作目錄名稱、24小時格式時間,就可以使用如下的命令:

export PS1='\[\e[30;1m\][\u@\h \w]\$ \[\e[0m\] -----黑色提示符
export PS1='\[\e[31;1m\][\u@\h \w]\$ \[\e[0m\] -----紅色提示符
export PS1='\[\e[32;1m\][\u@\h \w]\$ \[\e[0m\] -----綠色提示符
export PS1='\[\e[33;1m\][\u@\h \w]\$ \[\e[0m\] -----黃色提示符
export PS1='\[\e[34;1m\][\u@\h \w]\$ \[\e[0m\] -----藍色提示符(天藍)
export PS1='\[\e[35;1m\][\u@\h \w]\$ \[\e[0m\] -----粉色提示符
export PS1='\[\e[36;1m\][\u@\h \w]\$ \[\e[0m\] -----藍色提示符(海藍)
export PS1='\[\e[37;1m\][\u@\h \w]\$ \[\e[0m\] -----白色提示符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
我們先看一下PS1原本的參數設置:[\u@\h \W]$
設置顏色:
以 [\e[35;1m]開始
以 [\e[0m]結束
我們想設置成上圖那樣的顏色,將這條命令添加到/etc/profile文件中即可

export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h\[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

這樣就ok了。

原文鏈接:https://blog.csdn.net/weixin_43535689/article/details/104590808

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM