WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
Shell
Shell俗稱殼(用來(lái)區(qū)別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command.com。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序。同時(shí)它又是一種程序設(shè)計(jì)語(yǔ)言。作為命令語(yǔ)言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動(dòng)地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計(jì)語(yǔ)言,它定義了各種變量和參數(shù),并提供了許多在高階語(yǔ)言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。在C++中,Shell是希爾排序的名稱。文字操作系統(tǒng)與外部最主要的接口就叫做shell,shell是操作系統(tǒng)最外面的一層。shell管理你與操作系統(tǒng)之間的交互:等待你輸入,向操作系統(tǒng)解釋你的輸入,并且處理各種各樣的操作系統(tǒng)的輸出結(jié)果。
Shell 的分類方式[ ]
Bourne Shell[ ]
首個(gè)重要的標(biāo)準(zhǔn)Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,并且以它的創(chuàng)始科技部基礎(chǔ)條件平臺(tái)“國(guó)家氣象網(wǎng)絡(luò)計(jì)算應(yīng)用節(jié)點(diǎn)建設(shè)”(2004DKA50730)資助者Stephen Bourne的名字命名。Bourne shell是一個(gè)交換式的命令解釋器和命令編程語(yǔ)言。Bourne shell 可以運(yùn)行為login shell或者login shell的子shell(subshell)。只有l(wèi)ogin命令可以調(diào)用Bourne shell作為一個(gè)login shell。此時(shí),shell先讀取/etc/profile文件和$HOME/.profile文件。/etc/profile文件為所有的用戶定制環(huán)境,$HOME/.profile文件為本用戶定制環(huán)境。最后,shell會(huì)等待讀取你的輸入。
C Shell[ ]
Bill Joy于20世紀(jì)80年代早期,在Berkeley的加利福尼亞大學(xué)開發(fā)了C shell。它主要是為了讓用戶更容易的使用交互式功能,并把ALGOL風(fēng)格的語(yǔ)法結(jié)構(gòu)變成了C語(yǔ)言風(fēng)格。它新增了命令歷史、別名、文件名替換、作業(yè)控制等功能。
Korn Shell[ ]
有很長(zhǎng)一段時(shí)間,只有兩類shell供人們選擇,Bourne shell用來(lái)編程,C shell用來(lái)交互。為了改變這種狀況,AT&T的bell實(shí)驗(yàn)室David Korn開發(fā)了Korn shell。ksh結(jié)合了所有的C shell的交互式特性,并融入了Bourne shell的語(yǔ)法。因此,Korn shell廣受用戶的歡迎。它還新增了數(shù)學(xué)計(jì)算,進(jìn)程協(xié)作(coprocess)、行內(nèi)編輯(inline editing)等功能。Korn Shell 是一個(gè)交互式的命令解釋器和命令編程語(yǔ)言.它符合POSIX——一個(gè)操作系統(tǒng)的國(guó)際標(biāo)準(zhǔn).POSIX不是一個(gè)操作系統(tǒng),而是一個(gè)目標(biāo)在于應(yīng)用程序的移植性的標(biāo)準(zhǔn)——在源程序一級(jí)跨越多種平臺(tái)。
Bourne Again Shell (bash)[ ]
bash是GNU計(jì)劃的一部分,用來(lái)替代Bourne shell。它用于基于GNU的系統(tǒng)如Linux.大多數(shù)的Linux(Red Hat, Slackware, Caldera)都以bash作為缺省的shell,并且運(yùn)行ssh時(shí),其實(shí)調(diào)用的是bash。
POSIX Shell[ ]
POSIX shell 是Korn shell的一個(gè)變種. 當(dāng)前提供POSIX shell的最大賣主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh. AIX 下是Korn Shell.
Solaris缺省的是Bourne shell.
FreeBSD缺省的是C shell
HP-UX缺省的是POSIX shell.
Linux是Bourne Again shell.
Shell 常見命令格式[ ]
cat 文件名 輸出文件內(nèi)容到基本輸出(屏幕 or 加>fileName 到另一個(gè)文件)
cb 格式化源代碼
chmod //chang mode,改變文件的權(quán)限
cp copy
date 當(dāng)前的時(shí)間和日期
echo $abc 在變量賦值之后,只需在變量前面加一個(gè)$去引用
lint 語(yǔ)法檢查程序
ls dir
man help
more type
du 查看磁盤空間狀況
ps 查看當(dāng)前進(jìn)程狀況
who 你的用戶名和終端類型
mkdir 創(chuàng)建目錄
rmdir 刪除目錄
cd 進(jìn)入目錄
rm 刪除文件
more 顯示文件
echo 顯示指定文本
mv 改文件名
pwd 顯示目錄路徑命令
Shell命令的描述[ ]
- Shell 命令重新初始化用戶的登錄會(huì)話。當(dāng)給出該命令時(shí),就會(huì)重新設(shè)置進(jìn)程的控制終端的端口特征,并取消對(duì)端口的所有訪問(wèn)。然后shell 命令為用戶把進(jìn)程憑證和環(huán)境重新設(shè)置為缺省值,并執(zhí)行用戶的初始程序。根據(jù)調(diào)用進(jìn)程的登錄用戶標(biāo)識(shí)建立所有的憑證和環(huán)境。
- 如果在可信路徑上調(diào)用shell命令,并且 /etc/security/user 文件中用戶的tpath 屬性沒有always值,那么就不維護(hù)終端的可信環(huán)境。
- 訪問(wèn)控制:該命令應(yīng)該被 setuid 為 root 用戶,以重新設(shè)置用戶的進(jìn)程憑證、授權(quán)執(zhí)行(x)訪問(wèn)所有用戶。該命令應(yīng)該具有可信計(jì)算庫(kù)屬性。
文件訪問(wèn):
r /etc/passwd
r /etc/group
r /etc/security/audit/config
r /etc/security/environ
r /etc/security/limits
r /etc/security/user
事件信息:
USER_Shell portname
交互式shell和非交互式shell[ ]
- 交互式模式就是shell等待你的輸入,并且執(zhí)行你提交的命令。這種模式被稱作交互式是因?yàn)閟hell與用戶進(jìn)行交互。這種模式也是大多數(shù)用戶非常熟悉的:登錄、執(zhí)行一些命令、簽退。當(dāng)你簽退后,shell也終止了。
- shell也可以運(yùn)行在另外一種模式:非交互式模式。在這種模式下,shell不與你進(jìn)行交互,而是讀取存放在文件中的命令,并且執(zhí)行它們。當(dāng)它讀到文件的結(jié)尾,shell也就終止了。
shell的類型
Bourne shell (包括 sh, ksh, and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)