1. 程式人生 > >Linux 提示符後面顯示全路徑

Linux 提示符後面顯示全路徑

CentOS系列的系統預設提示符都不顯示全路徑,有時候需要使用當前目錄的絕對路徑還要敲個pwd,不喜歡。之前使用SUSE系統預設是顯示全路徑的,所以還是改成全路徑吧。

其實這個命令提示符格式是由PS1這個環境變數控制的,所以我們可以通過修改這個變數來達到我們的目的。

修改如下:

[[email protected] sh]# echo $PS1
[\u@\h \W]\$
[[email protected] sh]# export PS1='[\u@\h \w]\$'
[[email protected] /home/sh]#

這個是即時生效的,所以如果要重啟或者重新開啟視窗也生效的話就要把這個匯出動作放到/etc/profile

裡。

echo "export PS1='[\u@\h \w]\$ '" >> /etc/profile

或者直接修改系統初始設定PS1的地方,系統會在/etc/bashrc裡設定該變數。找到如下程式碼,將大寫的W改為小寫即可。

  #[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "

關於PS1各個欄位的含義如下:
  \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時,提示符為:# ,普通使用者則為:$