當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 讓你全方位了解Shell終端,輕松學(xué)習(xí)
關(guān)于shell終端,本文將在以下幾個方面做以總結(jié)和說明,希望對大家有所幫助。
1.什么是shell
Shell是用戶和Linux操作系統(tǒng)之間的接口。Linux中有多重shell,其中缺省使用的是Bash。如果把Linux內(nèi)核想象成一個球體的中心,shell就是圍繞內(nèi)核的外層。當(dāng)從shell或其他程序向Linux傳遞命令時,內(nèi)核會做出相應(yīng)的反應(yīng)。Linux系統(tǒng)的shell作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設(shè)計語言的統(tǒng)稱。
shell是一個命令語言解釋器,它擁有自己內(nèi)建的shell命令集,shell也能被系統(tǒng)中其他應(yīng)用程序所調(diào)用。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux核心。
有一些命令,比如改變工作目錄命令cd,是包含在shell內(nèi)部的。還有一些命令,例如拷貝命令cp和移動命令mv,是存在于文件系統(tǒng)中某個目錄下的單獨(dú)的程序。對用戶而言,不必關(guān)心一個命令是建立在shell內(nèi)部還是一個單獨(dú)的程序。
shell首先檢查命令是否是內(nèi)部命令,若不是再檢查是否是一個應(yīng)用程序(這里的應(yīng)用程序可以是Linux本身的實(shí)用程序,如ls和rm,也可以是購買的商業(yè)程序,如xv,或者是自由軟件,如emacs)。然后shell在搜索路徑里尋找這些應(yīng)用程序(搜索路徑就是一個能找到可執(zhí)行程序的目錄列表)。如果鍵入的命令不是一個內(nèi)部命令并且在路徑里沒有找到這個可執(zhí)行文件,將會顯示一條錯誤信息。如果能夠成功找到命令,該內(nèi)部命令或應(yīng)用程序?qū)⒈环纸鉃橄到y(tǒng)調(diào)用并傳給Linux內(nèi)核。
2.Shell的種類
每個Linux系統(tǒng)的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。
同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell: Bourne Shell:是貝爾實(shí)驗(yàn)室開發(fā)的。
BASH:是GNU的Bourne Again Shell,是GNU操作系統(tǒng)上默認(rèn)的shell。
Korn Shell:是對Bourne SHell的發(fā)展,在大部分內(nèi)容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you'll ever need! Z是最后一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨(dú)有的特性。
3.Shell終端的常用命令
文件命令有很多。不能一一列舉。對于常用命令,給大家簡單說說:
關(guān)于目錄文件的: ls cd mkdir rmdir mv cp
關(guān)于其他文件的:
查看文件內(nèi)容的命令: cat more less head tail 等。
查找文件或關(guān)鍵字: find locate grep which
創(chuàng)建文件的: touch
其他文件操作: chmod chgrp chown chroot
關(guān)于配置: ifconfig dhclient iptables