欢迎来到天天文库
浏览记录
ID:16323921
大小:68.00 KB
页数:6页
时间:2018-08-09
《linux bash 的环境设定档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、你是否會覺得奇怪,怎麼我們什麼動作都沒有進行,但是一進入bash就取得一堆有用的變數了?這是因為系統有一些環境設定檔案的存在,讓bash在啟動時直接讀取這些設定檔,以規劃好bash的操作環境啦!而這些設定檔又可以分為全體系統的設定檔以及使用者個人偏好設定檔。要注意的是,我們前幾個小節談到的命令別名啦、自訂的變數啦,在你登出bash後就會失效,所以你想要保留你的設定,就得要將這些設定寫入設定檔才行。底下就讓我們來聊聊吧!·login與non-loginshell在開始介紹bash的設定檔前,我們一定要先知道
2、的就是loginshell與non-loginshell!重點在於有沒有登入(login)啦!·loginshell:取得bash時需要完整的登入流程的,就稱為loginshell。舉例來說,你要由tty1~tty6登入,需要輸入使用者的帳號與密碼,此時取得的bash就稱為『loginshell』囉;·non-loginshell:取得bash介面的方法不需要重複登入的舉動,舉例來說,(1)你以Xwindow登入Linux後,再以X的圖形化介面啟動終端機,此時那個終端介面並沒有需要再次的輸入帳號與密碼,那
3、個bash的環境就稱為non-loginshell了。(2)你在原本的bash環境下再次下達bash這個指令,同樣的也沒有輸入帳號密碼,那第二個bash(子程序)也是non-loginshell。為什麼要介紹login,non-loginshell呢?這是因為這兩個取得bash的情況中,讀取的設定檔資料並不一樣所致。由於我們需要登入系統,所以先談談loginshell會讀取哪些設定檔?一般來說,loginshell其實只會讀取這兩個設定檔:1./etc/profile:這是系統整體的設定,你最好不要修改這
4、個檔案;2.~/.bash_profile或~/.bash_login或~/.profile:屬於使用者個人設定,你要改自己的資料,就寫入這裡!那麼,就讓我們來聊一聊這兩個檔案吧!這兩個檔案的內容可是非常繁複的喔!·/etc/profile(loginshell才會讀)你可以使用vim去閱讀一下這個檔案的內容。這個設定檔可以利用使用者的識別碼(UID)來決定很多重要的變數資料,這也是每個使用者登入取得bash時一定會讀取的設定檔!所以如果你想要幫所有使用者設定整體環境,那就是改這裡囉!不過,沒事還是不要隨
5、便改這個檔案喔這個檔案設定的變數主要有:·PATH:會依據UID決定PATH變數要不要含有sbin的系統指令目錄;·MAIL:依據帳號設定好使用者的mailbox到/var/spool/mail/帳號名;·USER:根據使用者的帳號設定此一變數內容;·HOSTNAME:依據主機的hostname指令決定此一變數內容;·HISTSIZE:歷史命令記錄筆數。CentOS5.x設定為1000;/etc/profile可不止會做這些事而已,他還會去呼叫外部的設定資料喔!在CentOS5.x預設的情況下,底下這些資
6、料會依序的被呼叫進來:·/etc/inputrc其實這個檔案並沒有被執行啦!/etc/profile會主動的判斷使用者有沒有自訂輸入的按鍵功能,如果沒有的話,/etc/profile就會決定設定『INPUTRC=/etc/inputrc』這個變數!此一檔案內容為bash的熱鍵啦、[tab]要不要有聲音啦等等的資料!因為鳥哥覺得bash預設的環境已經很棒了,所以不建議修改這個檔案!·/etc/profile.d/*.sh其實這是個目錄內的眾多檔案!只要在/etc/profile.d/這個目錄內且副檔名為.s
7、h,另外,使用者能夠具有r的權限,那麼該檔案就會被/etc/profile呼叫進來。在CentOS5.x中,這個目錄底下的檔案規範了bash操作介面的顏色、語系、ll與ls指令的命令別名、vi的命令別名、which的命令別名等等。如果你需要幫所有使用者設定一些共用的命令別名時,可以在這個目錄底下自行建立副檔名為.sh的檔案,並將所需要的資料寫入即可喔!·/etc/sysconfig/i18n這個檔案是由/etc/profile.d/lang.sh呼叫進來的!這也是我們決定bash預設使用何種語系的重要設定
8、檔!檔案裡最重要的就是LANG這個變數的設定啦!我們在前面的locale討論過這個檔案囉!自行回去瞧瞧先!反正你只要記得,bash的loginshell情況下所讀取的整體環境設定檔其實只有/etc/profile,但是/etc/profile還會呼叫出其他的設定檔,所以讓我們的bash操作介面變的非常的友善啦!接下來,讓我們來瞧瞧,那麼個人偏好的設定檔又是怎麼回事?·~/.bash_profile(loginshell才會讀)
此文档下载收益归作者所有