配置文件
linux系統(tǒng)普通用戶目錄(cd ~)或root用戶目錄(cd /root)下,用指令ls -al可以看到4個(gè)隱藏文件,
~/.bash_history?記錄之前輸入的命令
~/.bash_logout?當(dāng)你退出bash shell時(shí)執(zhí)行的命令
~/.bash_profile?當(dāng)你登入shell時(shí)執(zhí)行(用戶登錄時(shí),該文件僅僅執(zhí)行一次。默認(rèn)情況下執(zhí)行用戶的~/.bashrc文件)
~/.bashrc?當(dāng)你登入shell時(shí)執(zhí)行(登錄時(shí)以及每次打開新的shell時(shí),該文件被讀取)包含專用于用戶的bash shell的bash信息
?
~/.bash_profile和~/.bashrc的區(qū)別:~/.bash_profile只在會(huì)話開始時(shí)被讀取一次,而~/.bashrc則每次打開新的終端時(shí),都要被讀取。
~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的;~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的。通常二者設(shè)置大致相同,所以通常前者會(huì)調(diào)用后者。
這些文件是每一位用戶對(duì)終端功能和屬性設(shè)置,修改~/.bashrc可以改變環(huán)境變量PATH、別名alias和提示符。
?
除了修改~/.bashrc文件外,還可以修改如“/etc/profile”文件【/etc/profile文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息】、“/etc/bashrc”文件【為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件】及目錄“/etc /profile.d”下的文件。
但是修改/etc路徑下的配置文件將會(huì)應(yīng)用到整個(gè)系統(tǒng),屬于系統(tǒng)級(jí)的配置;而修改~/.bashrc則只是限制在用戶應(yīng)用上,屬于用戶級(jí)設(shè)置。
修改~/.bashrc,無需root權(quán)限,不會(huì)影響其他用戶。
/etc/profile中設(shè)定的變量(全局)可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系。
?
執(zhí)行順序?yàn)椋?etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
首先啟動(dòng) /etc/profile 文件,然后再啟動(dòng)用戶目錄下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一個(gè)。
如果 ~/.bash_profile文件存在的話,一般還會(huì)執(zhí)行 ~/.bashrc文件。因?yàn)樵?~/.bash_profile文件中一般會(huì)有下面的代碼:
1
2
3
|
if ?[?-f?~/.bashrc?]?;? then .?. /bashrc fi |
~/.bashrc中,一般還會(huì)有以下代碼:
1
2
3
|
if ?[?-f? /etc/bashrc ?]?;? then .? /etc/bashrc fi |
所以,~/.bashrc會(huì)調(diào)用 /etc/bashrc文件。最后,在退出shell時(shí),還會(huì)執(zhí)行 ~/.bash_logout文件。
?
PATH環(huán)境變量修改
PATH變量決定了shell 將到哪些目錄中尋找命令或程序。如果要執(zhí)行的命令的目錄在 $PATH 中,您就不必輸入這個(gè)命令的完整路徑,直接輸入命令就可以了。一些第三方軟件沒有將可執(zhí)行文件放到 Linux 的標(biāo)準(zhǔn)目錄中。因此,將這些非標(biāo)準(zhǔn)的安裝目錄添加到 $PATH 是一種解決的辦法。
作為慣例,所有環(huán)境變量名都是大寫。(Linux 區(qū)分大小寫)
如:在文件/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’ |
可以在該配置文件中添加自己風(fēng)格的別名,如
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? #顯示當(dāng)前的提示符設(shè)定 |
可以通過編輯各自home目錄下的.bash_profile和.bashrc來設(shè)置個(gè)性化提示符。(設(shè)置格式可查man bash手冊(cè)中的PROMPTING部分)
例如PS1=”[u: w]$ ” ,提示符就變成:[root:/usr/bin]$?
1
|
PS1= '${debian_chroot:+($debian_chroot)}[
|