## 一、Shell簡介
Shell :命令行解釋器,是用戶與系統溝通時的媒介
在Unix系統中有各種Shell, Linux采用bash為其默認shell
系統可以使用的shell記錄在 /etc/shells中
## 二、bash
bash :Bourne Again Shell的縮寫
GNU計劃的一個組件
與Unix上的Bourne Shell完全兼容。
支持命令行輸入、操作歷史查詢、快捷鍵、使用變量等功能。


## 三、預定義環境變量
在bash中有很多預定義環境變量(預先定義好名稱和使用的變量)
系統通過預定義環境變量來定義shell的環境
用戶可以用set或env查詢當前的環境變量
set可以查看環境變量(所有shell)以及本地變量(當前shell),evn只能查看環境變量.

常用的預定義環境變量
HOME : 當前用戶的主目錄
PATH : 當前用戶的可執行文件搜索路徑

LANG : 程序應該使用的默認語言

PS1 : 行提示符

## 四、history
在bash中輸入histroy指令可以查詢用戶的過往操作。
內存中記錄的過往指令數根據環境變量中HISTSIZE而定

history表存儲在內存中,在用戶logout時會記錄入用戶的主目錄下的.bash_history文件中。在下次login時載入。
.bash_history中的指令數根據環境變量中的HISTFILESIZE而定。

強制寫入:

## 五、調用過往指令
使用!來調用過往指令
!! :重復執行上一條指令
!a ?:重復執行上一條以a為首的指令
!number :重復執行上一條在history表中記錄號碼為number的指令
!-number :重復執行前第number條指令
!$ :截取上一條指令的最后一個值
可以用<ctrl + r> 來在history表中查詢某天過往指令
## 六、alias
在shell下鍵入alias可以查詢當前alias列表
用戶可以alias來為一條命令取一個簡單的別名
用戶也可以用unalias來取消一條別名記錄
alias記錄在shell中總是先行


