Linux下配置文件修改PATH環境變量、alias別名、個性化提示符,env


配置文件

linux系統普通用戶目錄(cd ~)或root用戶目錄(cd /root)下,用指令ls -al可以看到4個隱藏文件,

~/.bash_history 記錄之前輸入的命令

~/.bash_logout 當你退出bash shell時執行的命令

~/.bash_profile 當你登入shell時執行(用戶登錄時,該文件僅僅執行一次。默認情況下執行用戶的~/.bashrc文件)

~/.bashrc 當你登入shell時執行(登錄時以及每次打開新的shell時,該文件被讀取)包含專用於用戶的bash shell的bash信息

 

~/.bash_profile和~/.bashrc的區別:~/.bash_profile只在會話開始時被讀取一次,而~/.bashrc則每次打開新的終端時,都要被讀取。

~/.bash_profile 是交互式、login 方式進入 bash 運行的;~/.bashrc 是交互式 non-login 方式進入 bash 運行的。通常二者設置大致相同,所以通常前者會調用后者。

這些文件是每一位用戶對終端功能和屬性設置,修改~/.bashrc可以改變環境變量PATH、別名alias和提示符。

 

除了修改~/.bashrc文件外,還可以修改如“/etc/profile”文件【/etc/profile文件為系統的每個用戶設置環境信息】、“/etc/bashrc”文件【為每一個運行bash shell的用戶執行此文件】及目錄“/etc /profile.d”下的文件。

但是修改/etc路徑下的配置文件將會應用到整個系統,屬於系統級的配置;而修改~/.bashrc則只是限制在用戶應用上,屬於用戶級設置。

修改~/.bashrc,無需root權限,不會影響其他用戶。

/etc/profile中設定的變量(全局)可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系。

 

執行順序為:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

首先啟動 /etc/profile 文件,然后再啟動用戶目錄下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一個。

如果 ~/.bash_profile文件存在的話,一般還會執行 ~/.bashrc文件。因為在 ~/.bash_profile文件中一般會有下面的代碼:

1
2
3
if  [ -f ~/.bashrc ] ;  then
. . /bashrc
fi

~/.bashrc中,一般還會有以下代碼:

1
2
3
if  [ -f  /etc/bashrc  ] ;  then
/etc/bashrc
fi

所以,~/.bashrc會調用 /etc/bashrc文件。最后,在退出shell時,還會執行 ~/.bash_logout文件。

 

PATH環境變量修改

PATH變量決定了shell 將到哪些目錄中尋找命令或程序。如果要執行的命令的目錄在 $PATH 中,您就不必輸入這個命令的完整路徑,直接輸入命令就可以了。一些第三方軟件沒有將可執行文件放到 Linux 的標准目錄中。因此,將這些非標准的安裝目錄添加到 $PATH 是一種解決的辦法。

作為慣例,所有環境變量名都是大寫。(Linux 區分大小寫)

如:在文件/etc/profile中新增:

1
2
export  JAVA_HOME= /opt/java/jdk
export  JRE_HOME=${JAVA_HOME} /jre

 

alias別名 

一般在.bashrc或/etc/bashrc文件里有定義alias的幾行

1
2
3
alias  rm =’ rm  -i’
alias  cp =’ cp  -i’
alias  mv =’ mv  -i’

可以在該配置文件中添加自己風格的別名,如

1
2
alias  cls= clear
alias  ls = '/bin/ls -F --color=tty --show-control-chars'

也許你用慣了top,我們也可以用top來打開htop。

編輯/root/.bashrc文件,添加如下代碼

1
2
3
if  [ -f  /usr/local/bin/htop  ];  then
     alias  top =’ /usr/local/bin/htop
fi

 

提示符

1
echo  $PS1  #顯示當前的提示符設定

可以通過編輯各自home目錄下的.bash_profile和.bashrc來設置個性化提示符。(設置格式可查man bash手冊中的PROMPTING部分)

例如PS1=”[\u: \w]$ ” ,提示符就變成:[root:/usr/bin]$ 

1
PS1= '${debian_chroot:+($debian_chroot)}\[\033[01;32m\][\u\[\033[01;34m\]\[\033[00m\]:\[\033[01;35m\]\w\[\033[01;32m\] \$] '

 

 

每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)、source /etc/profile,就可以立刻加載修改后的設置,使之生效。(也可以重啟生效)

 

定制環境變量修改/etc/profile文件,所有用戶的shell都有權使用這些環境變量,缺點是可能會給系統帶來安全性問題。(修改針對所有的用戶的,所有的shell)

修改~/.bashrc文件更為安全,它可以把使用這些環境變量的權限控制到用戶級別

在/etc/profile里設置系統環境變量時,路徑末尾不能以"/"結尾,否則將導致整個PATH變量出錯。

參考來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM