自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

暢談簡介Linux shell內(nèi)核傳遞命令

運維 系統(tǒng)運維
shell是用戶和Linux內(nèi)核之間的接口程序,如果把Linux shell內(nèi)核想象成一個球體的中心,Linux shell內(nèi)核就是圍繞內(nèi)核的外層。當從shell或其他程序向Linux傳遞命令時,內(nèi)核會做出相應的反應。

shell內(nèi)核有很多值得學習的地方,這里我們主要介紹Linux shell內(nèi)核,包括介紹shell內(nèi)核等方面。Linux系統(tǒng)的shell作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設計語言的統(tǒng)稱。

什么是Linux shell內(nèi)核

shell是用戶和Linux內(nèi)核之間的接口程序,如果把Linux shell內(nèi)核想象成一個球體的中心,Linux shell內(nèi)核就是圍繞內(nèi)核的外層。當從shell或其他程序向Linux傳遞命令時,內(nèi)核會做出相應的反應。

Linux shell內(nèi)核是一個命令語言解釋器,它擁有自己內(nèi)建的shell命令集,shell也能被系統(tǒng)中其他應用程序所調(diào)用。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux核心。

有一些命令,比如改變工作目錄命令cd,是包含在shell內(nèi)部的。還有一些命令,例如拷貝命令cp和移動命令rm,是存在于文件系統(tǒng)中某個目錄下的單獨的程序。對用戶而言,不必關(guān)心一個命令是建立在shell內(nèi)部還是一個單獨的程序。

Linux shell內(nèi)核首先檢查命令是否是內(nèi)部命令,若不是再檢查是否是一個應用程序(這里的應用程序可以是Linux本身的實用程序,如ls和rm,也可以是購買的商業(yè)程序,如xv,或者是自由軟件,如emacs)。然后shell在搜索路徑里尋找這些應用程序(搜索路徑就是一個能找到可執(zhí)行程序的目錄列表)。如果鍵入的命令不是一個內(nèi)部命令并且在路徑里沒有找到這個可執(zhí)行文件,將會顯示一條錯誤信息。如果能夠成功找到命令,該內(nèi)部命令或應用程序?qū)⒈环纸鉃橄到y(tǒng)調(diào)用并傳給Linux內(nèi)核。
 
Linux shell內(nèi)核的另一個重要特性是它自身就是一個解釋型的程序設計語言,shell程序設計語言支持絕大多數(shù)在高級語言中能見到的程序元素,如函數(shù)、變量、數(shù)組和程序控制結(jié)構(gòu)。shell編程語言簡單易學,任何在提示符中能鍵入的命令都能放到一個可執(zhí)行的shell程序中。

當普通用戶成功登錄,系統(tǒng)將執(zhí)行一個稱為shell的程序。正是shell進程提供了命令行提示符。作為默認值(TurboLinux系統(tǒng)默認的shell是BASH),對普通用戶用“$”作提示符,對超級用戶(root)用“#”作提示符。

一旦出現(xiàn)了Linux shell內(nèi)核提示符,就可以鍵入命令名稱及命令所需要的參數(shù)。shell將執(zhí)行這些命令。如果一條命令花費了很長的時間來運行,或者在屏幕上產(chǎn)生了大量的輸出,可以從鍵盤上按ctrl+c發(fā)出中斷信號來中斷它(在正常結(jié)束之前,中止它的執(zhí)行)。

當用戶準備結(jié)束登錄對話進程時,可以鍵入logout命令、exit命令或文件結(jié)束符(EOF)(按ctrl+d實現(xiàn)),結(jié)束登錄。

我們來實習一下Linux shell內(nèi)核是如何工作的。

$ make work

make:***No rule to make target ‘work’. Stop.

$ 注釋:make是系統(tǒng)中一個命令的名字,后面跟著命令參數(shù)。在接收到這個命令后,shell便執(zhí)行它。本例中,由于輸入的命令參數(shù)不正確,系統(tǒng)返回信息后停止該命令的執(zhí)行。

在例子中,Linux shell內(nèi)核會尋找名為make的程序,并以work為參數(shù)執(zhí)行它。make是一個經(jīng)常被用來編譯大程序的程序,它以參數(shù)作為目標來進行編譯。在“make work”中,make編譯的目標是work。因為make找不到以work為名字的目標,它便給出錯誤信息表示運行失敗,用戶又回到系統(tǒng)提示符下。

另外,用戶鍵入有關(guān)命令行后,如果shell找不到以其中的命令名為名字的程序,就會給出錯誤信息。例如,如果用戶鍵入:

$ myprog

bash:myprog:command not found

$ 可以看到,用戶得到了一個沒有找到該命令的錯誤信息。用戶敲錯命令后,系統(tǒng)一般會給出這樣的錯誤信息。

【編輯推薦】

  1. 全面分析討論Linux Shell編程
  2. 簡要介紹Linux shell命令的收集編程語言
  3. 改變linux shell的輸出效果
  4. Linux Shell變量的使用輕松學習
  5. Linux Shell元字符知識筆記
責任編輯:佚名 來源: csdn
相關(guān)推薦

2011-01-10 16:45:45

2009-11-30 09:50:26

Linux內(nèi)核Linux內(nèi)核體系

2010-06-23 16:35:50

Linux Bash

2009-12-31 13:56:16

Ubuntu shel

2009-12-29 11:07:52

Ubuntu Linu

2012-07-25 13:21:17

ibmdw

2011-08-22 13:56:09

Linux虛擬

2019-12-01 22:59:43

Linux shell命令進程

2010-06-23 17:34:03

Linux Bash

2010-06-23 17:37:14

Linux Bash

2009-12-18 16:53:51

Linux initr

2010-06-23 17:16:33

Linux Bash

2010-06-23 16:31:10

Linux Bash

2010-06-23 17:29:07

Linux Bash

2016-11-15 15:23:27

2011-10-26 19:34:59

2012-10-22 09:54:57

2010-06-24 17:14:16

Linux chkco

2013-09-09 16:46:38

Webkit內(nèi)核

2010-01-06 11:24:27

Linux命令
點贊
收藏

51CTO技術(shù)棧公眾號