《linuxshell简介》word版

《linuxshell简介》word版

ID:22892764

大小:125.00 KB

页数:33页

时间:2018-11-01

《linuxshell简介》word版_第1页
《linuxshell简介》word版_第2页
《linuxshell简介》word版_第3页
《linuxshell简介》word版_第4页
《linuxshell简介》word版_第5页
资源描述:

《《linuxshell简介》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Shell基本工作原理發表在Shell於2006-11-12Linux系統提供給用戶的最重要的系統程式是Shell命令語言解釋程式。它不屬於內核部分,而是在核心之外,以用戶態方式運行。其基本功能是解釋並執行用戶打入的各種命令,實現用戶與Linux核心的介面。系統初啟後,核心為每個終端用戶建立一個進程去執行Shell解釋程式。它的執行過程基本上按如下步驟:(1)讀取用戶由鍵盤輸入的命令行。(2)分析命令,以命令名作為檔案名,並將其他參數改造為系統調用execve()內部處理所要求的形式。(3)終端進程調用fork()建立一個子進程。

2、(4)終端進程本身用系統調用wait4()來等待子進程完成(如果是後臺命令,則不等待)。當子進程運行時調用execve(),子進程根據檔案名(即命令名)到目錄中查找有關檔(這是命令解釋程式構成的檔),將它調入記憶體,執行這個程式(解釋這條命令)。(5)如果命令末尾有&號(後臺命令符號),則終端進程不用系統調用wait4()等待,立即發提示符,讓用戶輸入下一個命令,轉⑴。如果命令末尾沒有&號,則終端進程要一直等待,當子進程(即運行命令的進程)完成處理後終止,向父進程(終端進程)報告,此時終端進程醒來,在做必要的判別等工作後,終端進程

3、發提示符,讓用戶輸入新的命令,重複上述處理過程。Shell基本執行過程及父子進程之間的關係如圖所示。您的位置:首頁 > 程式開發 > Shell >文章正文幾種常見shell簡介發表在Shell於2006-11-12Linux系統提供多種不同的Shell以供選擇。常用的有BourneShell(簡稱sh)、C-Shelll(簡稱csh)、KornShell(簡稱ksh)和BourneAgainShell(簡稱bash)。(1)BourneShell是AT&TBell實驗室的StevenBourne為AT&T的Unix開發的,它是U

4、nix的默認Shell,也是其他Shell的開發基礎。BourneShell在編程方面相當優秀,但在處理與用戶的交互方面不如其他幾種Shell。(2)CShell是加州伯克利大學的BillJoy為BSDUnix開發的,與sh不同,它的語法與C語言很相似。它提供了BourneShell所不能處理的用戶交互特徵,如命令補全、命令別名、歷史命令替換等。但是,CShell與BourneShell並不相容。(3)KornShell是AT&TBell實驗室的DavidKorn開發的,它集合了CShell和BourneShell的優點,並且與B

5、ourneShell向下完全相容。KornShell的效率很高,其命令交互介面和編程交互介面都很好。(4)BourneAgainShell(即bash)是自由軟體基金會(GNU)開發的一個Shell,它是Linux系統中一個默認的Shell。Bash不但與BourneShell相容,還繼承了CShell、KornShell等優點。Shell基本工作原理發表在Shell於2006-11-12Linux系統提供給用戶的最重要的系統程式是Shell命令語言解釋程式。它不屬於內核部分,而是在核心之外,以用戶態方式運行。其基本功能是解釋並執

6、行用戶打入的各種命令,實現用戶與Linux核心的介面。系統初啟後,核心為每個終端用戶建立一個進程去執行Shell解釋程式。它的執行過程基本上按如下步驟:(1)讀取用戶由鍵盤輸入的命令行。(2)分析命令,以命令名作為檔案名,並將其他參數改造為系統調用execve()內部處理所要求的形式。(3)終端進程調用fork()建立一個子進程。(4)終端進程本身用系統調用wait4()來等待子進程完成(如果是後臺命令,則不等待)。當子進程運行時調用execve(),子進程根據檔案名(即命令名)到目錄中查找有關檔(這是命令解釋程式構成的檔),將它

7、調入記憶體,執行這個程式(解釋這條命令)。(5)如果命令末尾有&號(後臺命令符號),則終端進程不用系統調用wait4()等待,立即發提示符,讓用戶輸入下一個命令,轉⑴。如果命令末尾沒有&號,則終端進程要一直等待,當子進程(即運行命令的進程)完成處理後終止,向父進程(終端進程)報告,此時終端進程醒來,在做必要的判別等工作後,終端進程發提示符,讓用戶輸入新的命令,重複上述處理過程。Shell基本執行過程及父子進程之間的關係如圖所示。【LinuxShell簡介】發表在Shell於2006-11-12本文的內容來源於MUO的Basics部

8、分,其原始英文版可以從這裏獲得http://www.mandrakeuser.org/docs/。中文版來自吳曉光的CMUOhttp://dummy.linux.net.cn/~xgwu/cmuo/。MUO是MandrakeLinux(http:/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。