Linux Shell的研究與開發(fā)文獻(xiàn)綜述

Linux Shell的研究與開發(fā)文獻(xiàn)綜述

ID:479782

大?。?5.00 KB

頁數(shù):7頁

時(shí)間:2017-08-09

Linux Shell的研究與開發(fā)文獻(xiàn)綜述_第1頁
Linux Shell的研究與開發(fā)文獻(xiàn)綜述_第2頁
Linux Shell的研究與開發(fā)文獻(xiàn)綜述_第3頁
Linux Shell的研究與開發(fā)文獻(xiàn)綜述_第4頁
Linux Shell的研究與開發(fā)文獻(xiàn)綜述_第5頁
資源描述:

《Linux Shell的研究與開發(fā)文獻(xiàn)綜述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、文獻(xiàn)綜述LinuxShell的研究與開發(fā)一、前言部分相關(guān)概念:Shell是一種具備特殊功能的程序,它是介于使用者和UNIX/Linux操作系統(tǒng)之核心程序(kernel)間的一個(gè)接口。為了對(duì)用戶屏蔽內(nèi)核的復(fù)雜性,也為了保護(hù)內(nèi)核以免用戶誤操作造成損害,在內(nèi)核的周圍建了一個(gè)外殼(shell)。用戶向shell提出請(qǐng)求,shell解釋并將請(qǐng)求傳給內(nèi)核。使用較廣的shell有標(biāo)準(zhǔn)的Bourne?shell?(sh)、KornShell(ksh)、C?shell?(csh)、BourneAgainShell(bash)等。shell的

2、另一個(gè)重要特性是它自身就是一個(gè)解釋型的程序設(shè)計(jì)語言,shell程序設(shè)計(jì)語言支持絕大多數(shù)在高級(jí)語言中能見到的程序元素,如函數(shù)、變量和程序控制結(jié)構(gòu)。shell編程語言簡(jiǎn)單易學(xué),任何在提示符中能鍵入的命令都能放到一個(gè)可執(zhí)行的shell程序中。本質(zhì)上,shell?腳本是命令行命令簡(jiǎn)單的組合到一個(gè)文件里面。Shell基本上是一個(gè)命令解釋器,類似于DOS下的command.com。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序[1]。管道是Linux支持的最初UnixIPC形式之一,具有以下特點(diǎn):管道是半雙工的,數(shù)據(jù)只能向一個(gè)方向流動(dòng);需要雙

3、方通信時(shí),需要建立起兩個(gè)管道;只能用于父子進(jìn)程或者兄弟進(jìn)程之間(具有親緣關(guān)系的進(jìn)程);單獨(dú)構(gòu)成一種獨(dú)立的文件系統(tǒng):管道對(duì)于管道兩端的進(jìn)程而言,就是一個(gè)文件,但它不是普通的文件,它不屬于某種文件系統(tǒng),而是自立門戶,單獨(dú)構(gòu)成一種文件系統(tǒng),并且只存在于內(nèi)存中。一個(gè)進(jìn)程向管道中寫的內(nèi)容被管道另一端的進(jìn)程讀出,寫入的內(nèi)容每次都添加在管道緩沖區(qū)的末尾,并且每次都是從緩沖區(qū)的頭部讀出數(shù)據(jù)。執(zhí)行一個(gè)shell命令行時(shí)通常會(huì)自動(dòng)打開三個(gè)標(biāo)準(zhǔn)文件,即標(biāo)準(zhǔn)輸入文件(stdin),通常對(duì)應(yīng)終端的鍵盤;標(biāo)準(zhǔn)輸出文件(stdout)和標(biāo)準(zhǔn)錯(cuò)誤輸出文件

4、(stderr),這兩個(gè)文件都對(duì)應(yīng)終端的屏幕。進(jìn)程將從標(biāo)準(zhǔn)輸入文件中得到輸入數(shù)據(jù),將正常輸出數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出文件,而將錯(cuò)誤信息送到標(biāo)準(zhǔn)錯(cuò)誤文件中。輸入重定向是指把命令(或可執(zhí)行程序)的標(biāo)準(zhǔn)輸入重定向到指定的文件中。也就是說,輸入可以不來自鍵盤,而來自一個(gè)指定的文件。輸出重定向是指把命令(或可執(zhí)行程序)的標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯(cuò)誤輸出重新定向到指定文件中。這樣,該命令的輸出就不顯示在屏幕上,而是寫入到指定文件中[2]。寫作目的:介紹了在Linux系統(tǒng)背景下對(duì)Shell相關(guān)知識(shí)的了解,編寫簡(jiǎn)單的shell命令例如ls,cp,cat和

5、rm命令等并且介紹了Shell相關(guān)的外部程序命令及管道和輸入輸出重定向功能,以加深對(duì)Shell這方面知識(shí)的理解,為此類程序的開發(fā)提供一定的啟示性和指導(dǎo)性。二、主題部分Unix/linux發(fā)展簡(jiǎn)史:一、Multics計(jì)劃1965年,AT&T貝爾電話實(shí)驗(yàn)室、通用電氣公司、麻省理工學(xué)院MAC課題組一起聯(lián)合開發(fā)一個(gè)稱為Multics的新操作系統(tǒng)。Multics系統(tǒng)的目標(biāo)是要向大的用戶團(tuán)體提供對(duì)計(jì)算機(jī)的同時(shí)訪問,支持強(qiáng)大的計(jì)算數(shù)據(jù)存儲(chǔ),以及允許用戶在需要的時(shí)候容易地共享他們的數(shù)據(jù)。1969年Multics的原始版本在GE645計(jì)算機(jī)

6、上運(yùn)行了,但它既沒能提供預(yù)定的綜合服務(wù),而且,連它自己也不清楚究竟什么時(shí)刻算達(dá)到開發(fā)目標(biāo)。在這種情況下,AT&T貝爾電話實(shí)驗(yàn)室首先退出了這一項(xiàng)目。二、UNIX系統(tǒng)的萌芽Multics項(xiàng)目中止后,AT&T貝爾電話實(shí)驗(yàn)室中參加開發(fā)的主要人員開始尋找其他有趣的項(xiàng)目。這其中,KenThompson寫了一個(gè)名叫“太空漫游”的游戲程序。他找到了一臺(tái)基本無人使用的DECPDP-7計(jì)算機(jī)運(yùn)行他的程序。然而由于DECPDP-7缺少開發(fā)程序,以致于Thompson不得不在另一臺(tái)運(yùn)行GECOS操作系統(tǒng)的Honeywell635上交叉匯編他的程序

7、,然后再通過紙帶加載到DECPDP-7上。為了方便太空漫游的開發(fā),Thompson和DennisRitchie一起著手開發(fā)DECPDP-7上的操作環(huán)境:1.一個(gè)簡(jiǎn)單的文件系統(tǒng),它后來深化成稱之為SystemV文件系統(tǒng)的早期版;2.一個(gè)進(jìn)程子系統(tǒng)和shell(命令解釋器)。這樣這個(gè)系統(tǒng)就足以滿足他們的需要,他們將這個(gè)操作環(huán)境命名為UNIX。Thompson和Ritchie后來開發(fā)了B語言(后來Ritchie又將其發(fā)展為C語言),并擴(kuò)展了UNIX系統(tǒng),UNIX系統(tǒng)便在AT&T貝爾電話實(shí)驗(yàn)室流行起來。1973年11月,他們用C語

8、言徹底重寫,這是UNIX操作系統(tǒng)邁向成功之路的關(guān)鍵一步。完成后,Thompson和Ritchie共同在《ACM通信》上發(fā)表了首篇UNIX論文,TheUNIXTimeSharingSystem[3]。三、UNIX系統(tǒng)的發(fā)展由于AT&T公司受到美國反托拉斯法的訴訟,與聯(lián)邦政府簽署了一份協(xié)議,這份協(xié)議不允許A

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。