linux默認的命令提示符是這樣的:

白色的,如果當前執行的命令很多的話,一整塊屏幕上全是一堆輸出信息,上一條命令在哪?我剛輸入的命令在哪?找的頭暈。有沒有辦法可以修改命令提示符的樣式,尤其是自定義顏色,
這樣就比較好區分上一條命令和下一條命令,也好找剛才輸入的命令在哪兒。當然是沒問題的啦!通過修改變量PS1,可以自定義命令提示符,包括顏色!
參數說明
PS1='content\$ '
,content代表你自定義需要顯示的內容,$表示提示字符,如果是root時,提示符為:# ,普通用戶則為:$(注意!$后面有一個空格,沒有空格的話會報錯)
默認的PS1是PS1='[\u@\h \w]\$ '
,那么這里的\u\h \w是什么意思呢
符號 | 說明 |
---|---|
\d | 代表日期,格式為weekday month date,例如:"Mon Aug 1" |
\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
有些文章也說顏色格式為\[\e[F;Bm\]
,好像哪種都行,我用的上面稍簡單的哪種
其中 F 為字體顏色,編號3037;B為背景色,編號4047。
可通過\e[0;m關閉顏色輸出;特別的,當B為1時,將顯示加亮加粗的文字,詳細請看下面的顏色表與代碼表
怎么設置呢,編輯家目錄下的 .bashrc 文件,
輸入PS1='[\e[32;40m\u\e[37;40m@\h \e[36;40m\w\e[37;40m]\$ '
保存。執行source .bashrc
使之生效。
效果如下