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