Shell入門——shell特性、變數
flyingfishzxf發表於2016-03-01
shell 特性
命令/操作符 |
含義/作用 |
history |
列出命令歷史 |
~/.bash_history |
命令歷史的儲存路徑 |
echo $HISTSIZE |
輸出命令歷史可以儲存的數量,預設1000條 |
!! |
執行上一條命令 |
!$ |
命令歷史中最後一個引數 |
!num |
執行命令歷史中第num條命令 |
! + ‘xxx’ |
執行命令歷史中最近的以xxx開頭的命令 |
tab(1次) |
輸入命令過程中的命令或路徑補全 |
tab(2次) |
不知道路徑全名時,列出所有可能的路徑 |
alias |
給命令取別名 |
unalias |
取消命令別名 |
* |
萬用字元,代替任意多的字元 |
? |
萬用字元,只能代替1個字元 |
| |
管道符,作用是將一個命令的結果傳給另一個命令作為引數 |
> |
重定向(覆蓋原來內容) |
>> |
追加重定向(在原來內容後面追加,不覆蓋) |
< |
反向重定向 |
2> |
錯誤重定向,將命令錯誤資訊輸出到指定檔案 |
2>> |
追加錯誤重定向,將命令錯誤資訊追加輸出到指定檔案 |
Ctrl + z |
暫停當前任務到後臺 |
fg [n] |
恢復後臺指定編號n的任務到前臺執行 |
jobs |
檢視後臺所有任務 |
命令 + & |
把命令放到後臺執行 |
shell 變數
命令/操作符 |
含義/作用 |
env |
顯示所有系統變數 |
set |
顯示所有系統變數 + 使用者自定義變數 |
自定義變數 |
1.變數名全名原則:使用字母、數字、下劃線,不能以數字開頭 |
自定義變數 |
2.變數值規範:中間有空格等特殊字元需使用單/雙引號 |
自定義變數 |
3.若要將一個命令的結果賦給變數,可以使用反引號 |
自定義變數 |
4.宣告全域性變數:export a=1,在子shell中也可以呼叫 |
bash |
開啟全新的shell環境 |
unset a |
取消變數 |
local(用在function中) |
宣告函式的區域性變數,僅在函式內部呼叫 |
系統和使用者的環境變數配置檔案
配置檔案 |
含義/作用 |
/etc/profile |
定義系統環境變數的配置檔案,不建議更改 |
/etc/profile.d/ |
該目錄下可以自定義一些變數 |
source /ete/profile |
自定義變數後,重置變數 |
/etc/bashrc |
定義系統級別環境變數的配置檔案,不建議更改 |
~/.bash_profile |
使用者的環境變數,位於使用者的home目錄下 |
~/.bashrc |
同上 |
shell 中特殊符號
命令/操作符 |
含義/作用 |
* |
萬用字元,匹配所有字元 |
? |
萬用字元,匹配一個字元 |
# |
shell指令碼中或命令列中,表示註釋,使命令不生效 |
\ |
脫義符號,把其後面的特殊字元的特殊意義去掉 |
| |
管道符,把一條命令的結果傳給另一條命令作為引數 |
$ |
變數字首,或者表示行尾 |
; |
常用於兩條命令中間,分割使多條命令寫在一行 |
~ |
表示home目錄 |
& |
用於命令後面,把命令放到後臺執行 |
[] |
表示一個範圍,[134] 表示1、3、4,[1-8] 表示1~8 |