Linux Shell介紹、種類、特點(diǎn) |
課課家小編以下為大家重點(diǎn)介紹Linux的常用操作和命令。在介紹命令之前,先對(duì)LinuxShell進(jìn)行了簡(jiǎn)單介紹,然后按照大多數(shù)用戶的使用習(xí)慣,對(duì)各種操作和相關(guān)命令進(jìn)行了分類介紹。對(duì)相關(guān)命令的介紹都力求通俗易懂,都給出操作實(shí)例,使讀者能夠照著實(shí)際操作,并得到正確結(jié)果。嵌入式開發(fā)命令是Linux操作系統(tǒng)的利器,務(wù)必掌握好,當(dāng)然不可能一下子熟練掌握,但是只要多加練習(xí),就可熟能生巧,運(yùn)用自如。**對(duì)Linux的環(huán)境變量也進(jìn)行了必要的介紹。
3.1 Linux Shell3.1.1 Shell是什么前面已經(jīng)提到過,Linux系統(tǒng)為用戶提供了多種用戶界面,包括Shell界面、系統(tǒng)調(diào)用和圖形界面。其中Shell界面是Unix/Linux系統(tǒng)的傳統(tǒng)界面,也可以說是最重要的用戶界面,無論是服務(wù)器、桌面系統(tǒng)還是嵌入式應(yīng)用,都離不開Shell。
Shell,英文本意是外殼,Linux Shell就是Linux操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口,是Linux系統(tǒng)用戶交互的重要接口。登錄Linux系統(tǒng)或者打開Linux的終端,都將會(huì)啟動(dòng)Linux所使用的Shell。
Linux Shell一個(gè)命令解釋器,是Linux下最重要的交互界面,從標(biāo)準(zhǔn)輸入接收用戶命令,將命令進(jìn)行解析并傳遞給內(nèi)核,內(nèi)核則根據(jù)命令,作出相應(yīng)的動(dòng)作,如果有反饋信息,則輸出到標(biāo)準(zhǔn)輸出上,示意過程如圖 3.1所示。 嵌入式Linux的標(biāo)準(zhǔn)輸入和輸出都是串口終端。
圖3.1 命令輸入和結(jié)果輸出
Shell既能解釋自身的內(nèi)建命令,也能解釋外部命令,如系統(tǒng)某個(gè)目錄下的可執(zhí)行程序。Shell首先判斷是否是自己的內(nèi)建命令,然后再檢查是不是系統(tǒng)的應(yīng)用程序,如果不是內(nèi)建命令,在系統(tǒng)也找不到這個(gè)應(yīng)用程序,則提示錯(cuò)誤信息,如果找到了應(yīng)用程序,則應(yīng)用程序調(diào)入系統(tǒng)調(diào)用時(shí)陷入內(nèi)核。
Shell也是一種解釋型的程序設(shè)計(jì)語言,并且支持絕大多數(shù)**語言的程序元素,如變量、數(shù)組、函數(shù)以及程序控制等。Shell編程簡(jiǎn)單易學(xué),任何在Shell提示符中輸入的命令都可以放到一個(gè)可執(zhí)行的Shell程序文件中。Shell文件其實(shí)就是眾多Linux命令的集合,也稱為Shell腳本文件。
3.1.2 Shell的種類和特點(diǎn)
Linux Shell有多種Shell,比較通用且有標(biāo)準(zhǔn)的主要分為兩類:Bourne Shell(sh)和C Shell (csh),各自包括幾種具體的Shell,具體如表 3.1所列。
linux嵌入式開發(fā)教程:Linux Shell介紹、種類、特點(diǎn)
Bourne Shell是UNIX最初使用的shell,在每種UNIX上都可以使用。Bourne Shell的優(yōu)點(diǎn)是在Shell編程方面很好,缺點(diǎn)是用戶的交互不如其他幾種Shell。
Bourne Again Shell簡(jiǎn)稱Bash,是Bourne Shell的擴(kuò)展,與Bourne Shell完全向后兼容,在Bourne Shell的基礎(chǔ)上增加了很多新特性。Bash提供了命令補(bǔ)全、命令編輯和命令歷史表等功能,還包含了很多C shell和Korn shell中的優(yōu)點(diǎn),使用靈活,界面友好,編程方便,是GNU/Linux操作系統(tǒng)的默認(rèn)Shell。
Korn Shell由AT&T的Bell實(shí)驗(yàn)室David Korn開發(fā),吸收了所有C Shell的交互式特性,并融入了Bourne shell的語法,與Bourne shell完全兼容。
C Shell由Bill Joy在BSD系統(tǒng)上開發(fā),增強(qiáng)了用戶交互功能,并將編程語法變成了C語言風(fēng)格,還增加了命令歷史、別名、文件名替換、作業(yè)控制等功能。目前使用較少。
在不同發(fā)行版中,所采用的默認(rèn)Shell也有所不同,如Redhat和Fedora中默認(rèn)Shell為bash,Ubuntu中用了dash。無論用哪種Shell,登錄系統(tǒng)后系統(tǒng)將運(yùn)行一個(gè)Shell進(jìn)程。根據(jù)不同用戶,Shell提供不同的命令提示符,root用戶的提示符為“#”,普通用戶的命令提示符為“$”,在命令提示符下輸入命令即可與系統(tǒng)進(jìn)行交互。
盡管不同發(fā)行版的默認(rèn)Shell有可能不同,但是所采用的Shell一般都具有如下特性:
具有內(nèi)置命令可供用戶直接使用;
支持復(fù)合命令:把已有命令組合成新的命令;
支持通配符(*、?、[]);
支持TAB鍵補(bǔ)齊;
支持歷史記錄;
支持環(huán)境變量;
支持后臺(tái)執(zhí)行命令或者程序;
支持Shell腳本程序;
具有模塊化編程能力,如順序流控制、條件控制和循環(huán)控制等;
Ctrl+C能終止進(jìn)程。
以上是linux嵌入式開發(fā)當(dāng)中的Linux Shell的詳細(xì)內(nèi)容,了解學(xué)習(xí)更多相關(guān)教學(xué)視頻歡迎進(jìn)入課課家教育官網(wǎng)查詢觀看:http://www.kokojia.com/
資訊來源:http://www.kokojia.com/article/4992.html
|
友情提示:
信息由用戶自行發(fā)布,如果發(fā)現(xiàn)錯(cuò)誤或不符合法規(guī)或造成侵權(quán),請(qǐng)及時(shí)通知本站更正或刪除,具體聯(lián)系方式見頁面底部聯(lián)系我們,謝謝。 |
當(dāng)前頁在本站[名站在線]7天內(nèi)點(diǎn)擊次數(shù)(點(diǎn)擊次數(shù)為零的日期不顯示): |
信息評(píng)估: |
(還沒有網(wǎng)友對(duì)該信息作出評(píng)估,你想為該信息提供第一個(gè)評(píng)估嗎?) |
|
|
|