1. 程式人生 > 其它 >Linux下配置檔案修改PATH環境變數、alias別名、個性化提示符,env

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 exportJAVA_HOME=/opt/java/jdk exportJRE_HOME=${JAVA_HOME}/jre

alias別名

一般在.bashrc或/etc/bashrc檔案裡有定義alias的幾行

1 2 3 aliasrm=’rm-i’ aliascp=’cp-i’ aliasmv=’mv-i’

可以在該配置檔案中新增自己風格的別名,如

1 2 aliascls=clear aliasls='/bin/ls-F--color=tty--show-control-chars'

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

編輯/root/.bashrc檔案,新增如下程式碼

1 2 3 if[-f/usr/local/bin/htop];then aliastop=’/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變量出錯。

參考來源