怎么使用linux shell
linux shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口,那么你對(duì)linux shell了解多少呢?下面就讓學(xué)習(xí)啦小編來(lái)給你科普一下什么是linux shell。
linux shell的簡(jiǎn)介
Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。
實(shí)際上Shell是一個(gè)命令解釋器,它解釋由用戶輸入的命令并且把它們送到內(nèi)核。不僅如此,Shell有自己的編程語(yǔ)言用于對(duì)命令的編輯,它允許用戶編寫(xiě)由shell命令組成的程序。Shell編程語(yǔ)言具有普通編程語(yǔ)言的很多特點(diǎn),比如它也有循環(huán)結(jié)構(gòu)和分支控制結(jié)構(gòu)等,用這種編程語(yǔ)言編寫(xiě)的Shell程序與其他應(yīng)用程序具有同樣的效果。
Linux提供了像MicrosoftWindows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多桌面環(huán)境系統(tǒng),其操作就像Windows一樣,有窗口、圖標(biāo)和菜單,所有的管理都是通過(guò)鼠標(biāo)控制。GNOME。
每個(gè)Linux系統(tǒng)的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門(mén)的Shell需要。
同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell: Bourne Shell:是貝爾實(shí)驗(yàn)室開(kāi)發(fā)的。
BASH:是GNU的Bourne Again Shell,是GNU操作系統(tǒng)上默認(rèn)的shell。
Korn Shell:是對(duì)Bourne SHell的發(fā)展,在大部分內(nèi)容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you’ll ever need! Z是最后一個(gè)字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時(shí)又增加了自己獨(dú)有的特性。
linux shell的使用
不論是哪一種Shell,它最主要的功用都是解譯使用者在命令列提示符號(hào)下輸入的指令。Shell 語(yǔ)法分析命令列,把它分解成以空白區(qū)分開(kāi)的符號(hào)(token),在此空白包括了跳位鍵(tab)、空白和換行(New Line)。如果這些字包含了metacharacter,shell 將會(huì)評(píng)估(evaluate)它們的正確用法。另外,shell 還管理檔案輸入輸出及幕后處理(background processing)。在處理命令列之后,shell 會(huì)尋找命令并開(kāi)始執(zhí)行它們。
Shell 的另一個(gè)重要功用是提供個(gè)人化的使用者環(huán)境,這通常在 shell 的初始化檔案中完成(.profile、.login、.cshrc、.tcshrc 等等)。這些檔案包括了設(shè)定終端機(jī)鍵盤(pán)和定義窗口的特征;設(shè)定變量,定義搜尋路徑、權(quán)限、提示符號(hào)和終端機(jī)類型;以及設(shè)定特殊應(yīng)用程序所需要的變量,例如窗口、文字處理程序、及程序語(yǔ)言的鏈接庫(kù)。Korn shell 和 C shell 加強(qiáng)了個(gè)別化的能力:增加歷程、別名、和內(nèi)建變量集以避免使用者誤殺檔案、不慎簽出、并在當(dāng)工作完成時(shí)通知使用者。
Shell 也能當(dāng)解譯性的程序語(yǔ)言(interpreted programing language)。Shell 程序,通常叫做命令文件,它由列在檔案內(nèi)的命令所構(gòu)成。此程序在編輯器中編輯(雖然也可以直接在命令列下寫(xiě)作程序,online scripting),由 UNIX 命令和基本的程序結(jié)構(gòu),例如變量的指定、測(cè)試條件、和循環(huán)所構(gòu)成。您不需要編譯 shell 命令檔。Shell 本身會(huì)解譯命令檔中的每一行,就如同由鍵盤(pán)輸入一樣。shell 負(fù)責(zé)解譯命令,而使用者則必須了解這些命令能做什么。
linux shell的函數(shù)
在shell中可以定義函數(shù)。函數(shù)實(shí)際上也是由若干條shell命令組成的,因此它與shell程序形式上是相似的,不同的是它不是一個(gè)單獨(dú)的進(jìn)程,而是shell程序的一部分。函數(shù)由兩部分組成:函數(shù)名和函數(shù)體。
n函數(shù)定義的格式為:
函數(shù)名()
{
命令集合
}
n或者
function 函數(shù)名()
{
命令集合
}
Shell函數(shù)與腳本的區(qū)別
Shell函數(shù)和shell程序比較相似,它們的區(qū)別在于:
Shell程序在子Shell中運(yùn)行
而Shell函數(shù)在當(dāng)前Shell中運(yùn)行。因此在當(dāng)前Shell中可以看到Shell函數(shù)對(duì)變量的修改。
看過(guò)“怎么使用linux shell”的人還看了:
1.如何查閱Linux系統(tǒng)正在使用的Shell版本
3.Windows下怎么運(yùn)行l(wèi)inux shell腳本
4.怎么在windows系統(tǒng)中使用linux的shell腳本
5.Linux操作系統(tǒng)Shell基礎(chǔ)知識(shí)