嵌入式3 24總結

2021-10-04 13:42:26 字數 1691 閱讀 5139

shell本身是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。作為命令語言,它互動式地解釋和執行使用者輸入的命令;作為程式語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。它雖然不是linux系統核心的一部分,但它呼叫了系統核心的大部分功能來執行程式、建立檔案並以並行的方式協調各個程式的執行。因此,對於使用者來說,shell是最重要的實用程式,深入了解和熟練掌握shell的特性及其使用方法,是用好linux系統的關鍵。可以說,shell使用的熟練程度反映了使用者對linux使用的熟練程度。

當乙個使用者登入linux系統之後,系統初始化程式init就為每乙個使用者執行乙個稱為shell(外殼)的程式。那麼,shell是什麼呢?確切一點說,shell就是乙個命令列直譯器,它為使用者提供了乙個向linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止,甚至編寫一些程式。

使用者使用linux時是通過命令來完成所需工作的。乙個命令就是使用者和shell之間對話的乙個基本單位,它是由多個字元組成並以換行結束的字串。shell解釋使用者輸入的命令,就像dos裡的command.com所做的一樣,所不同的是,在dos中,command.com只有乙個,而在linux下比較流行的shell有好幾個,每個shell都各有千秋。一般的linux系統都將bash作為預設的shell。

目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令來檢視shell的型別。

#echo $shell

$shell是乙個環境變數,它記錄使用者所使用的shell型別。可以用以下命令:

#shell-name

來轉換到別的shell,這裡shell-name是你想要嘗試使用的shell的名稱,如ash等。這個命令為使用者又啟動了乙個shell,這個shell在最初登入的那個shell之後,稱為下級的shell或子shell。使用命令:

$exit

可以退出這個子shell。

使用不同的shell的原因在於它們各自都有自己的特點,下面做乙個簡單的介紹。

(1)ash。ash shell是由kenneth almquist編寫的,是linux中占用系統資源最少的乙個小shell,它只包含24個內部命令,因而使用起來很不方便。

(2)bash。bash是linux系統預設使用的shell,它由brian fox和chet ramey共同完成,是bourne again shell的縮寫,內部命令一共有40個。linux使用它作為預設的shell是因為它有諸如以下的特色。

可以使用類似dos下面的doskey的功能,用方向鍵查閱和快速輸入並修改命令;

自動通過查詢匹配的方式給出以某字串開頭的命令;

包含了自身的幫助功能,你只要在提示符下面鍵入help就可以得到相關的幫助。

(3)ksh。ksh是korn shell的縮寫,由eric gisin編寫,共有42條內部命令。該shell最大的優點是幾乎和商業發行版的ksh完全相容,這樣就可以在不用花錢購買商業版本的情況下嘗試商業版本的效能了。

(4)csh。csh是linux比較大的核心,它由以william joy為代表的共計47位作者編成,共有52個內部命令。該shell其實是指向/bin/tcsh這樣的乙個shell,也就是說,csh其實就是tcsh。

(5)zch。zch是linux最大的shell之一,由paul falstad完成,共有84個內部命令。如果只是一般的用途,是沒有必要安裝這樣的shell的。

3 24嵌入式設計課程

嵌入式linux系統開發 檔案 程序 執行緒 網路 20 嵌入式系統移植8h 嵌入式驅動開發8h 自動生成 cmake autotool 嵌入式linux開發工具 shell程式設計 指令碼 批處理 linux系統運維工程師 嵌入式系統開發 系統移植 shell 1.命令解析器 將使用者輸入的命令解...

嵌入式學習總結

第一天我學習到了linux學習的乙個大致的框架,以及了解了我們將要學習哪些知識,和學習的大致順序。首先以程式的概念入手,知道程式設計的基礎知識對於計算機來說,程式就是系統可以識別的指令,程式是怎樣在計算機裡執行的?首先記憶體儲器從硬碟裡呼叫程式,然後暫存器從記憶體裡把程式運送到cpu裡面執行。語言的...

嵌入式測試總結

從事嵌入式測試工作至今半年了,目前這份工作一半技術,一半溝通。單從技術上來說,主要有兩大難點,一是 從嵌入式系統測試的角度,你能夠從乙個高點來看待由很多個軟體項組成的系統,根據相關的實踐經驗,考慮什麼樣的系統是可靠的 第二 從語法上來說,測試人員的功底是否紮實將對 審查的質量起到很大的影響,是否能夠...