Linux終端提示符PS1設(shè)置

linux終端提示符默認如下顯示效果

[root@localhost cc51a85cd8e1a61f8b2f8955c5593849e7264bcf58f874b0cbf6e852d71638ee]#

這里主要想在終端提示這里看到登錄用戶服務(wù)器ip絕對路徑,如下顯示:

root@xxx.xxx.xxx.xxx:/var/lib/docker/containers$

這里主要通過PS1變量來進行設(shè)置

PS1:linux終端提示符,linux的內(nèi)置變量

ps1默認為[\u@\h \W]\$
各提示符的含義如下:

\d :#代表日期,格式為weekday month date,例如:"Mon Aug 1"   
\H :#完整的主機名稱。   
\h :#僅取主機的第一個名字。 
\t :#顯示時間為24小時格式,如:HH:MM:SS   
\T :#顯示時間為12小時格式   
\A :#顯示時間為24小時格式:HH:MM   
\u :#當前用戶的賬號名稱   
\v :#BASH的版本信息   
\w :#完整的工作目錄名稱。家目錄會以 ~代替   
\W :#利用basename取得工作目錄名稱,所以只會列出最后一個目錄 
\# :#下達的第幾個命令   
\$ :#提示字符,如果是root時,提示符為:# ,普通用戶則為:$  

由此可知,默認顯示當前用戶、主機的第一個名字、當前工作目錄
可以將PS1修改為如下:

export PS1="\[\e[33;1m\]\u\[\e[31;1m\]@\[\e[33;1m\]\H:\[\e[36;1m\]\w\[\e[34;1m\]\$ \[\e[0m\]"

上面還包含提示符顏色的設(shè)置,具體可以參考PS1設(shè)置

如果想PS1的設(shè)置永久有效,可以在/etc/profile或.bashrc文件里進行設(shè)置,然后打開一個新的終端就會看到新設(shè)置的提示符生效了。
但是這里可能會發(fā)現(xiàn),主機名顯示的不是ip,顯示如下:

root@localhost.localdomain:/var/lib/docker/containers$

原因是這里的hostname不是ip

root@localhost.localdomain:/var/lib/docker/containers$ hostname
localhost.localdomain

因為需要修改hostname,提供一個快速永久修改hostname的方法

root@localhost.localdomain:/var/lib/docker/containers$ hostnamectl set-hostname 172.16.81.97
root@localhost.localdomain:/var/lib/docker/containers$ hostname
172.16.81.97

這時hostname就改成主機的ip了,
重新打開終端后就變成了想要的終端提示符

root@172.16.81.97:/var/lib/docker/containers

有人會想這樣顯示會有什么好處:

  1. 通過該終端提示符,可以很清楚的知道打開該終端的用戶、主機地址和工作目錄
  2. 如果用過scp命令,會不會覺得跟它的格式一模一樣,方便復(fù)制

更進一步的,會不會還有PS2、PS3呢?

關(guān)于linux的PS2、PS3、PS4可以參考linux下PS1、PS2、PS3、PS4最全詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容