1) .bashrc文件linux
在linux系統普通用戶目錄(cd /home/xxx)或root用戶目錄(cd /root)下,用指令ls -al能夠看到4個隱藏文件,shell
.bash_history 記錄以前輸入的命令bash
.bash_logout 當你退出時執行的命令測試
.bash_profile 當你登入shell時執行spa
.bashrc 當你登入shell時執行htm
請注意後兩個的區別:'.bash_profile'只在會話開始時被讀取一次,而'.bashrc'則每次打開新的終端時,都要被讀取。blog
這些文件是每一位用戶對終端功能和屬性設置,修改.bashrc能夠改變環境變量PATH、別名alias和提示符。具體如何修改會在下面作介紹。字符串
除了能夠修改用戶目錄下的.bashrc文件外,還能夠修改如「/etc/profile」文件、「/etc/bashrc」文件及目錄「/etc /profile.d」下的文件。可是修改/etc路徑下的配置文件將會應用到整個系統,屬於系統級的配置,而修改用戶目錄下的.bashrc則只是限制在用戶應用上,屬於用戶級設置。二者在應用範圍上有所區別,建議如需修改的話,修改用戶目錄下的.bashrc,即無需root權限,也不會影響其餘用戶。get
2) PATH環境變量修改
PATH變量決定了shell 將到哪些目錄中尋找命令或程序。若是要執行的命令的目錄在 $PATH 中,您就沒必要輸入這個命令的完整路徑,直接輸入命令就能夠了。一些第三方軟件沒有將可執行文件放到 Linux 的標準目錄中。所以,將這些非標準的安裝目錄添加到 $PATH 是一種解決的辦法。此外,您也將看到如何處理通常的環境變量。
首先,做爲慣例,全部環境變量名都是大寫。因爲 Linux 區分大小寫,這點您要留意。固然,您能夠本身定義一些變量,如'$path'、'$pAtH',但 shell 不會理睬這些變量。
第二點是變量名有時候以'$'開頭,但有時又不是。當設置一個變量時,直接用名稱,而不須要加「$」,如
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/X11R6/bin:/usr/local/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
「PATH=/usr/bin:/usr/local/bin:/bin」(不須要雙引號啊)
假如要獲取變量值的話,就要在變量名前加'$':
「echo $PATH」
則會顯示當前設置的PATH變量「/usr/bin:/usr/local/bin:/bin」
不然的話,變量名就會被看成普通文本了:
「echo PATH」
顯示「PATH」
處理 $PATH 變量要注意的第三點是:您不能只替換變量,而是要將新的字符串添加到原來的值中。在大多數狀況下,您不能用「PATH=/some /directory」,由於這將刪除 $PATH 中其餘的全部目錄,這樣您在該終端運行程序時,就不得不給出完整路徑。因此,只能做添加:「PATH=$PATH:/some/directory」,假如你要添加/usr/local/arm/3.4.1/bin交叉編譯命令,則操做爲「PATH=$PATH:/usr/local/arm/3.4.1/bin」
這樣,PATH 被設成當前的值(以 $PATH 來表示)+新添的目錄。
到目前爲止,你只爲當前終端設置了新的 $PATH 變量。若是您打開一個新的終端,運行 echo $PATH ,將顯示舊的 $PATH 值,而看不到你剛纔添加的新目錄。由於你先前定義的是一個局部環境變量(僅限於當前的終端)。
要定義一個全局變量,使在之後打開的終端中生效,您須要將局部變量輸出(export),能夠用"export"命令:
export PATH=$PATH:/some/directory
如今若是打開一個新的終端,輸入 echo $PATH ,也能看到新設置的$PATH 了。請注意,命令'export'只能改變當前終端及之後運行的終端裏的變量。對於已經運行的終端沒有做用。
爲了將目錄永久添加到 $PATH ,只要將"export"的那行添加到.bashrc或/etc/bashrc文件中。
3) alias別名
通常在.bashrc或/etc/bashrc文件裏有幾句話
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
有了這幾句話,當在終端中輸入「mv test.c led.c」實際上輸入的是「mv -i test.c led.c」,因此說alias是一個別名。你能夠在該配置文件中添加本身風格的別名,如「alias ll='ls -l'」,只須要在終端中輸入「ll」就實現了「ls -l」的功能。還能夠添加其餘語句,隨本身喜愛。
4)提示符
當打開一個控制檯(console) 時,最早看到的就是提示符(prompt),如:[root@localhost ~]#
在默認設置下,提示符將顯示用戶名、主機名(默認是'localhost')、當前所在目錄(在 Unix 中,'~'表示您的 home 目錄)。
按照傳統,最後一個字符能夠標識普通用戶($),仍是'root'(#)。
能夠經過 $PS1 變量來設置提示符。
命令「echo $PS1」,將顯示當前的設定。其中可用字符的含義在 man bash 的'PROMPTING'部分有說明。
如何才能完成理想的設置呢?對於健忘的初學者來說,默認設定有些不友好,由於提示符只顯示當前目錄的最後一部分。若是你看到象這樣的提示符
[wsf@localhost bin]$
則當前目錄多是'/bin'、'/usr/bin'、'/usr/local/bin'及'/usr/X11R6/bin'。固然,你能夠用
pwd (輸出當前目錄,print working directory)
能不能叫 shell 自動告訴你當前目錄呢?
固然能夠。這裏我將提到的設定,包括提示符,大都包含在文件'/etc/bashrc'中。您能夠經過編輯各自 home 目錄下的'.bash_profile'和'.bashrc'來改變設置。
在 man bash 中的'PROMPTING'部分,對這些參數(parameter)有詳細說明。您能夠加入一些小玩意,如不一樣格式的當前時間,命令的歷史記錄號,甚至不一樣的顏色。
一種更適當的設定:
PS1="[\u: \w]\\$ " 這樣,提示符就變成: [wsf: /usr/bin]$ 你能夠經過命令 export 來測試不一樣的設置(好比,export PS1="\u: \w\\$ ")。若是找到了適合的提示符,就將設置放到您的'.bashrc''中。這樣,每次打開控制檯或終端窗口時,都會生效。