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
有人會想這樣顯示會有什么好處:
- 通過該終端提示符,可以很清楚的知道打開該終端的用戶、主機地址和工作目錄
- 如果用過scp命令,會不會覺得跟它的格式一模一樣,方便復(fù)制
更進一步的,會不會還有PS2、PS3呢?
關(guān)于linux的PS2、PS3、PS4可以參考linux下PS1、PS2、PS3、PS4最全詳解