一、shell 電腦硬體的直接控制者是操作系統的內核(kernel),因為內核的重要性,所以作為用戶的我們是無法直接操作內核的,所以我們需要shell調用應用程式或者雙擊打開安裝的應用軟體與內核之間進行通信。 shell就相當於是一個介面,連接程式與內核;或者可以說shell是一個辦公桌,給工作的 ...
一、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