Linux 學習之路:認識shell和bash,shellbash
一、shell
電腦硬體的直接控制者是作業系統的核心(kernel),因為核心的重要性,所以作為使用者的我們是無法直接操作核心的,所以我們需要shell調用應用程式或者雙擊開啟安裝的應用軟體與核心之間進行通訊。 shell就相當於是一個介面,串連程式與核心;或者可以說shell是一個辦公桌,給工作的人以必要辦公環境。
如今的shell大多數是命令列介面的形式。不同的作業系統的shell是不同的,Linux系統預設運用的是bash。
因為shell是與核心的介面,故可以通過不給一些使用者shell來控制使用者操作的許可權,如/etc/shells 中的/sbin/nologin ,在使用者登入終端後,Linux會根據/etc/passwd檔案的設定給使用者一個shell,如果使用者的shell被分配為/sbin/nologin(預設為/bin/bash)那麼該使用者就無法登入。
二、bash
bash 功能優點:
1、history
命令記憶功能:記錄下曾經執行過的命令,再登出系統後會將這一次的操作記錄從記憶體寫到~/.bash_history中,下次登入後即可查看到上次的操作記錄。
2、Tab按鍵自動補全命令列
3、alias
設定別名:alias hsnn='ls -al' 輸入執行hsnn 則會執行ls -al 命令
4、shell script
程式指令碼,能夠輕鬆便捷管理系統
5、作業控制、前台、後台控制
6、萬用字元(Wildcard)
* _
三、bash的內建命令
bash內建了許多命令:cd umask ,可通過type 命令來查看是否為內建命令
type -t name
file:外部命令
alias:為命令所這隻的別名
builtin:bash 內建命令
type -p name name為外部命令時會顯示命令路徑相當於which
type -a name 列出PATH中所有包含name的命令,包括alias