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

相關文章