Linux基礎概念 Shell到底是什么?
一、引言
1、認識Bash這個Shell
2、Linux中有哪些Shell
二、Bash介紹及內容
1、認識Bash這個Shell
??管理整個計算機硬體就是作業系統的內核,而內核是需要被保護的,不能讓用戶隨便去修改不然系統崩潰了怎么辦?所以一般用戶只能通過Shell來跟內核溝通,
??什么是Shell?就是與內核溝通的界面、應用程式、KDE等等,比如你要播放音樂,你的計算機通過你在Shell輸入的打開音樂的命令,Shell在告訴作業系統的內核用戶希望打開音樂,內核在通過cpu調度、記憶體管理、磁盤輸入輸出等作業,將硬體調動,這時硬體聲卡才會作業,硬體才是實際的作業者,
??作業系統其實是一組軟體,由于這組軟體在控制整個硬體與管理系統的活動監測,如果這組軟體能被用戶隨意操作,若用戶使用不當,將會使整個系統崩潰,(作業系統管理的就是整個硬體功能)
??殼程式(Shell)的功能只是提供用戶作業系統的界面,這個殼程式需要呼叫其他軟體才能完整作業,例如很多命令man、chmod、chown、chown、vi、fdisk、mkfs等命令,這些命令都是獨立的應用程式,但是我們可以通過殼程式(Shell)來操作這些應用程式,當然Shell也有自帶的命令,讓這些應用程式呼叫內核來執行所需任務,
現在明白了吧,Bash是Shell的一種,
2、Linux中有哪些Shell
??你可以自己檢查一下/etc/shells這個檔案,里面就是你的Linux所包含的Shell,

在上圖中其實最常用的就是bash、tcsh、csh、sh、nologin這些shell,
??這些shell都是依據Linux發展者的不同所創造出的不同版本,就像是有紅帽Linux、有ubunto、有DVL等等不同的Linux作業系統,
bash:基準于GNU的框架下發展出的Shell,
csh:語法有點類似于c語言的Shell,
tcsh:整合了csh,提供更多的功能,
sh:已經被bash所替換,
nologin:奇怪的shell,這個shell可以讓用戶無法登錄主機,
注:系統默認的是Bash
??為什么系統上合法的Shell要寫入/etc/shells這個檔案呢?這是因為系統某些服務運行程序中,會去檢查用戶能夠使用的Shell,而這些shell的查詢就是借由/etc/shells這個檔案,
??用戶什么時候可以取得shell來作業?用戶默認會取得哪一個shell?當用戶登錄的時候,系統就會給我一個shell讓我來用,而這個登錄取得的Shell就記錄在/etc/passwd這個檔案內,

每一行為一個用戶,末尾都是每一個用戶默認的Shell,例如第一行root的默認shell就是Bash,
???????????????????????????????????????????
若對Linux基礎知識感興趣的可以關注一下博主,我會持續更新Linux基礎知識
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282720.html
標籤:其他
