淺析Unix操作系統(tǒng)中常見shell
在學(xué)習(xí)Unix操作系統(tǒng)很久之后,我們越來越了解Unix操作系統(tǒng),今天,我們要了解Unix操作系統(tǒng)中的Shell知識。首先我們來了解下Shell。
Shell俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command.com。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序。同時它又是一種程序設(shè)計語言。
Shell作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計語言,它定義了各種變量和參數(shù),并提供了許多在高階語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。
幾中常見shell在Unix操作系統(tǒng)用戶目錄下的控制文件
- 1)korn shell (ksh) - .profile .kshrc
- 2)bourne shell (sh) - .profile
- 3)c shell (csh) - .cshrc .login
- 4)bash shell (bash) - .bash_profile .bash_login .profile
在/etc/skel下,保存了用戶的shell的模版文件。用admintool創(chuàng)建用戶時Unix操作系統(tǒng)不會將模版文件復(fù)制到用戶主目錄,而用useradd命令時Unix操作系統(tǒng)會將相應(yīng)用戶設(shè)立了的模板復(fù)制到用戶主目錄并改名為相應(yīng)的配置文件,如果想改變環(huán)境,修改這個文件就可以了.
root的配置文件在/下,如果沒有,用戶可以自己創(chuàng)建.其他用戶的配置文件在用戶登陸目錄下.
用戶登陸會先讀Unix操作系統(tǒng)標(biāo)準(zhǔn)配置文件,然后讀自己目錄下的文件,如果用戶設(shè)置和默認(rèn)不同,就改變值,如果用戶沒有設(shè)置,就用默認(rèn)值.
例如:bash進的讀取順序: $HOME/.profile-->/etc/profile
- bash is a bit different from sh.
- whenever the user log in the system, bash will look for .bash_profile;
- if it doesn't exist, it will look for bash_login;
- if it still doesn't exist, then it will look for .profile.
- if it can find none of them, finally it uses /etc/profile.
- of course, those files are under ${HOME} except /etc/profile.
這樣,在Unix操作系統(tǒng)中,我們就完成了用戶登陸shell控制文件的知識講解內(nèi)容。
【編輯推薦】