shell與kernel的理解

Shell 的英文釋義是外殼,與kernel 內核名詞遙相呼應,一外一內,一殼一核。內核就像瑞士銀行的金庫,存放著客戶的黃金等眾多的(硬件)資產,閑雜人等(包括客戶)當然是嚴格禁止入內的,而作為客戶要存取金庫中的資產則需要通過專門的特定管理人員代為操作完成,并把存?。ú僮鳎┑慕Y果呈現給客戶。在Linux操作系統中,shell的職能就類似于金庫的操作人員,客戶就是計算機使用者,使用者只需要告訴shell相應的操作需求,shell會把操作需求提交給內核,并把結果返回給操作者,至于過程是怎么實現,對操作者而言是無需可見的。

 

  當然去過銀行的都知道,干啥事都得填表,表就相當于一種規范,操作員與shell交流也需要遵循規范,這個規范就是所謂的命令。比方客戶要更改自己銀行賬戶的密碼,如果是本人,驗明正身后按規范只需要寫passwd,shell就會提示你把你的新密碼在鍵盤上輸入,shell將轉交給內核;如果不是本人,請獲得授權后,并在passwd 命令后面加上你代為更改的賬戶名稱,如passwd centos,centos就是我們所說的命令參數。至于shell編程則是相當于客戶一次性把需求寫紙上都提交給金庫操作人員,金庫操作人員來回一趟就能完成,減少了等待,提高了效率。當然作為操作者,只需要填表,不需要把表翻譯成shell與內核交流的黑話,這就是說我們無需編譯。

 

Shell腳本的按龜腚必須有一個開頭字段 #!,叫Shebang。它的名字來自于sharpbang ,分別代指#!兩個符號的Unix名稱。相當于上文打的比方中的金庫操作員的工作牌,通過這個,金庫知道這是什么身份的內部人員,戴著工作牌的就是客戶指定的金庫操作員——通常是/bin/bash,當然客戶也可以指定其他自己喜歡的,比如/bin/csh。操作員后面長長的一串就是客戶的一列操作需求。

 

   Shell編程既然叫做編程,那么也算做一種語言。對計算機編程語言來說,就勢必要有一個概念叫做變量,這玩意就類似于初中所學的幾元幾次方程組里的XY。也用金庫的例子來打比方,就像客戶說我要在瑞士銀行的金庫里存個東西,但我還不知道要存的東西是什么類型的,是美刀還是金條,金庫先給我留個位吧。于是銀行就會在金庫存放東西的地方(內存)給先劃一塊空間,既然不知道是什么類型,那就叫個籠統的名字(類型):東西(字符串),總是不會錯的。至于最終存進去并且按客戶的需要拿美刀投資增值還是把金條變現(運算),金庫到時候會自行按類型隱式轉換。

原創文章,作者:喵,如若轉載,請注明出處:http://www.www58058.com/10366

(2)
喵
上一篇 2016-02-14
下一篇 2016-02-14

相關推薦

  • LVS專題: NAT和DR模型實現Web負載均衡

    LVS專題: NAT和DR模型實現Web負載均衡 前言: NAT實現 Real Server配置 Director配置 測試 實驗拓撲 實驗環境 實驗步驟 DR實現 Director配置 Real Server配置 測試 實驗拓撲 實驗環境 實驗步驟 總結: 前言: 在上篇文章中我們講了一些LVS的基本概念和相應模型的實驗原理和流程,本篇文章我們主要使用lv…

    2016-04-05
  • 循環 函數 軟件包 【中】

    循環 函數 軟件包  【中】  創建無限循環 while true; do     循環體 ? done ? until false; do     循環體 ? Done 特殊用法 ?while循環的特殊用法(遍歷文件的每一行):      &nbs…

    Linux干貨 2016-08-21
  • rsyslog講解

    rsyslog: 日志:歷史日志 syslog(服務):syslogd(系統日志)、klogd(內核日志) c/s架構;服務,可監聽于某套接字,幫其他主機記錄日志信息 日志格式 /etc/rsyslog.conf facitlity.priority         &…

    Linux干貨 2016-10-28
  • 網絡管理基礎

    什么是網絡?    在計算機領域中,網絡是信息傳輸,接受,共享的虛擬平臺,通過它把各個點,面體的信息聯系到一起, 從而實現這些資源的共享。 網路物理組件     終端:可發送和接受數據的,如計算機。移動設備,打印機,服務器….    互聯設備:互聯…

    Linux干貨 2016-09-06
  • 初學Linux的感受

    我是馬哥25期的學員,之前從來沒有接觸過Linux,近幾天學習Linux下來,收獲很多,懂了一些基本命令,以及安裝Linux系統. 我知道從一個什么也不懂的小白變成站在云端的大神,這之間需要付出多少的努力和汗水.開學典禮有幸見到馬哥本人,也見到 我的授課教師老王,之前看到兩位上課的視頻,詼諧幽默,我很喜歡! 但愿我這四個月痛并快樂著. 努力,然后看到勝利的曙…

    Linux干貨 2017-07-11
  • 用一條命令’pwd’判斷并證明系統命令的執行順序。

    一、命令分類        在Linux系統中命令分為兩類:            1.內部命令:shell buildin 每次啟動系統都會重新加載入內存。        2.外部命令:即某目錄下的…

    Linux干貨 2017-09-03
欧美性久久久久