修改linux命令提示字元的方法
修改linux命令提示字元的方法:
修改linux的命令提示字元即修改linux的環境變數PS1,可以使用vi編輯/etc/profile檔案,在最後加上:
export PS1=’[\u@\h \W]\$ ’
也可以編輯~/.profile檔案(注意開頭一行 #/etc/profile ~/.profile)
即可,其中\u顯示目前使用者帳號,\h顯示當前主機名稱,\W顯示當前路徑,\$顯示’$’符號
\W 代替 \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時,提示符為:# ,普通使用者則為:$
還有一個問題,修改過.profile/profile 檔案之後,怎麼樣才能應用改變呢?
我們可以使用以下命令
source /etc/profile or source /etc/home/user/.profile
改變title
PROMPT_COMMAND='echo -ne "/033]0;${USER}@${HOSTNAME}: ${PWD}/007"'這樣在terminal的title就會顯示使用者@機器名:路徑。
改變命令提示字元的顏色:
在~/.bashrc中添加:(綠色)
export PS1="/[/033[32m/][/w]/$/[/033[0m/] “
在/root/.bashrc:(紅色)
export PS1="/[/e[31m/][/w]#/[/e[0m/] “
NOTICE:
1. /033[32m 表示後面的字元要用綠色。/033 也可用/e(0m,表示用default。30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋紅)、36(青色)、37(白色)。
2. /[ 和 /] 對於每個顏色參數,都要用著兩個轉義符包起來。至少字Ubuntu上,必須這麼設定。
3. /$好像不怎麼起作用,當sudo到root使用者時,仍然顯示$,理想是#。所以可以直接用$,不用轉義/$
PS:
- /a : an ASCII bell character (07)
- /d : the date in "Weekday Month Date" format (e.g., "Tue May 26")
- /D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
- /e : an ASCII escape character (033)
- /h : the hostname up to the first '.'
- /H : the hostname
- /j : the number of jobs currently managed by the shell
- /l : the basename of the shell’s terminal device name
- /n : newline
- /r : carriage return
- /s : the name of the shell, the basename of $0 (the portion following the final slash)
- /t : the current time in 24-hour HH:MM:SS format
- /T : the current time in 12-hour HH:MM:SS format
- /@ : the current time in 12-hour am/pm format
- /A : the current time in 24-hour HH:MM format
- /u : the username of the current user
- /v : the version of bash (e.g., 2.00)
- /V : the release of bash, version + patch level (e.g., 2.00.0)
- /w : the current working directory, with $HOME abbreviated with a tilde
- /W : the basename of the current working directory, with $HOME abbreviated with a tilde
- /! : the history number of this command
- /# : the command number of this command
- /$ : if the effective UID is 0, a #, otherwise a $
- /nnn : the character corresponding to the octal number nnn
- // : a backslash
- /[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
- /] : end a sequence of non-printing characters