我們知道,管理整個計算機硬體的其實是作業系統的核心,這個核心是需要保護的,是以我們一般使用者就隻能通過shell來跟核心通信,以讓核心達到我們想要達到的工作。
那麼系統有多少shell可以用呢?為什麼要用bash?
一、什麼是shell
shell的功能是提供使用者作業系統的一個接口,是以shell可以調用其他軟體。我們已經學過很多指令,比如man,chmod等,這些指令都是獨立的應用程式,我們可以通過shell(指令行模式)來操作,讓其調用核心來運作。
二、了解系統的合法shell
從早年的UNIX以來,shell有很多的版本。那麼目前我們使用的Linux有多少我們可以使用的shell呢?可以從檔案/etc/shells檢視:

且Linux預設的就是bash。
三、bash shell的功能
我們已經知道,/bin/bash是Linux預設的shell,就一起來了解一下吧。
bash是GUN計劃中重要的工具軟體之一,目前也是Linux distributions的标準shell。主要相容于sh,那麼這個shell有什麼優點呢?
1、指令記憶功能
我們肯定用過,在指令行按上下鍵來尋找前/後一個輸入的指令,以此節省時間,這就是因為bash的這個功能。
執行過的指令會被記錄在主檔案内的.bash_history中,不過值得注意的是,這個檔案記錄的是前一次登入以前所執行過的指令。而這一次執行過的指令都會暫存在臨時記憶體中,
我們就可以在此檔案中查詢我們曾經的操作。
2、指令與檔案補全功能
[tab]是很神奇的一個按鍵,也很友善。
接在一串指令的第一個字後面是指令補全
接在一串指令的第二個字後面是檔案補全
比如:
我想知道以cat開頭的指令有什麼,cat後再按兩個[tab][tab],指令補全。
以guandao開頭的檔案有什麼,後接兩個[tab][tab],檔案補全:
3、指令别名設定功能(alias)
我們都知道ll可以代替ls -l,這就是因為alias的功能,我們先來看一下系統有什麼指令别名:
也可以自己設定,比如:alias lm='ls -al'
4、作業控制、前台、背景控制
使用前台,背景的控制可以讓作業進行的更為順利,作業控制可以讓我們随時将工作丢到背景中執行。
5、通配符
除了完整的字元串之外,bash還支援許多的通配符來幫助使用者查詢與指令執行。
eg:想知道/usr/bin下面有多少以X為開頭的檔案?
四、bash shell的内置指令:type
在bash中,已經内置了很多指令,例如cd,umask等。那麼我們怎麼檢視bash的内置指令或者是外部指令呢?利用type檢視就行。