shell基礎-概述(詳細)

1.shell是什麼

  • shell是一個命令行解釋器,它爲用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶可以用shell來啓動、掛起、停止甚至是編寫一些程序。
  • shell還是一個功能相當強大的編程語言,易編寫,易調試,靈活性較強。shell是解釋執行的腳本語言,在shell中可以直接條用Linux系統命令。

舉個栗子:

  • (1)系統與硬件的關係圖
    在這裏插入圖片描述
  • 解釋這個圖的工作流程: 最底層是硬件,是通過內核來管理這個硬件,在外層應用程序或者敲入命令,內核是不能識別的,計算機只能識別機器語言,所有命令和內核需要相互轉換,命令轉換爲機器語言,把返回的結果從機器語言,翻譯成命令,那誰來處理這個事情那??? 答案是shell來做,最主要的工作是把敲入的命令,翻譯成內核可以識別的機器語言,然後這個內核纔可以按照我們的要求來調用硬件來完成操作, 操作完成之後,這個硬件會把執行結果返回給內核,內核也需要通過shell,把機器語言翻譯成我們看懂的語言,然後再呈現給用戶。Shell就是交互界面, 所在終端操作的這個界面,其實就是Linux的shell,沒有shell根本就沒辦法區輸入命令,及時打入了命令,系統也不能識別。
  • Shell就是我們和計算機我們和內核之間進行交互的界面,最主要的功能就是讓我有個地方可以輸入命令。把我的命令翻譯成計算機內核可以識別的機器語言,把這個命令傳遞給硬件,硬件來執行,當內核執行完成之後把他翻譯成用戶可以識別的語言。
  • shell除了交互界面之外,還有另一個功能。這個是解釋執行的腳本語言,不需要先單獨進行編譯,而是命令再執行過程當中,自動來進行編譯。
    Shell之所以可以方便的幫助用戶進行系統管理,最主要的原因是可以直接調用Linux系統命令。
  • Windows有shell嗎??? 爲什麼點擊開始會彈出開始菜單???其實就是再windows再檢測開始圖標的範圍之內,偵測到了單機左鍵的動作,就會調用這個程序,這個Windows的圖形界面就是Windows的shell,在windows裏不這樣叫,Windows裏面叫圖形交互界面。

2.shell的分類

  • Bourne Shell:從1979起Unix就開始使用Bourne Shell ,Bourne Shell的主文件名爲sh。
  • C Shell : C shell這要在BSD辦的Unix系統中使用,其語法和C語言類似而得名
  • Shell得兩種主要語法類型有Bourne和C,這兩種語法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh; C家族主要包括:csh、tcsh
  • Bash:Bash與sh兼容,現在使用得liunx就是使用Bash作爲用戶得基本Shell。

註釋:

  • Linux的標準shell是bash
    對Linux來講所說的shell是bash這個shell
  • 以後的單用戶、系統修復模式啓動的就是sh這個shell

3.Linux支持的Shell

  • /etc/shells

開始實驗
(1)打開/etc/shells文件,查看Linux支持的shell
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
(2)在/etc/shells文件中,有一個/sbin/nologin,這個在用戶信息管理文件中見過。用vim /etc/passwd命令打開這個文件進行查看
在這裏插入圖片描述
內容解釋:

  • 在/etc/passwd文件中每一行的最後一列,是用戶登錄的權限,能夠登錄的用戶使用的shell是Linux的標準shell ,即/bin/bash。 這個用戶登錄完成之後,可以完成他權限之內的所有工作。管理員完成管理員的工作,普通用戶完成普通用戶的工作。
  • 所有的僞用戶,也是系統用戶,它的shell是/bin/nologin,絕大多數不是用來執行命令的用戶,就寫的是/sbin/nologin 代表整個用戶不允許登錄。
  • 有些特殊的命令,/sbin/halt 這些命令不是用來登錄的,就只能執行這一條命令, /bin/sync 如果寫了具體的系統命令,就只能執行這條命令,比如shutdown 這個用戶只能執行shutdown這個命令的。Shutdown也是不允許登錄的,只是用來調用這一個命令的。

4.總結

(1)shell的作用:

  • 命令解釋器,讓用戶有個操作的界面,給用戶提供了一個可以敲命令地方。
  • 可以支持強大的編程語言的界面。允許用戶編程。

(2)/etc/shells文件,查看Linux支持的shell

(3) Linux的標準shell是bash,是B shell系列的一種。他們之間的語法類似。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章