bash是乙個命令處理器,通常執行於文字視窗中,並能執行使用者直接輸入的命令。bash還能從檔案中讀取命令,這樣的檔案稱為指令碼。和其他unix shell 一樣,它支援檔名替換(萬用字元匹配)、管道、here文件、命令替換、變數,以及條件判斷和迴圈遍歷的結構控制語句。包括關鍵字、語法在內的基本特性全部是從sh借鑑過來的。其他特性,例如歷史命令,是從csh和ksh借鑑而來。總的來說,bash雖然是乙個滿足posix規範的shell,但有很多擴充套件。
命令補全:
最左側給出的開頭字串如果能唯一標識某命令檔案,則直接補全;否則再次敲tab鍵給出列表。
路徑補全:
按給出的路徑逐一匹配每個檔案或資料夾,若唯一標識則補全,否則再次敲tab鍵給出列表。
ctrl+c #終止前台執行的程式
ctrl+d #退出/關機 等同於命令exit
ctrl+l #清屏
ctrl+a #游標移動到命令列最前端
ctrl+e #游標移動到最後端
ctrl+u #刪除游標前所有字元
ctrl+k #刪除游標後所有字元
shell程序會在其會話中儲存此前使用者提交執行過的命令
history
#調出歷史命令
命令歷史檔案儲存在家目錄下的.bash_history檔案中
$histsize 記錄shell程序可以保留的命令歷史的條數
$histfile 持久儲存命令歷史的檔案
$histfilesize 命令歷史檔案的大小
用法:
history -c #清空命令歷史
history -d 3 #刪除第三條歷史命令
history -r #從檔案中讀取歷史到命令歷史列表
history -w #把列表裡的命令追加到歷史檔案中
history 5 #顯示最近的5條命令
!5 #再次執行歷史列表中第5條命令
!! #再次執行上一條命令
!ip #再次執行最近以ip開頭的命令
呼叫上條命令的最後引數:
ls /etc/sysconfig
cd!$ #直接進入sysconfig資料夾
用alias命令來為其他命令設定別名
alias
#檢視所有可用別名的定義
alias xiaotaiyang=
'ls'
#定義ls的別名為xiaotaiyang
unalias xiaotaiyang #撤銷別名xiaotaiyang
type -a xiaotaiyang #檢視xiaotaiyang的原命令
定義永久別名:
vi /etc/bashrc
alias xiaotaiyang=
'ls'
#重啟虛擬機器後生效
符號
名稱作用
豎線管道符
將乙個程式的輸出直接連線到另乙個程式的輸入
.當前目錄
例如:ls . 展示當前目錄檔案
…上一級目錄
例如:cd … 回到上級目錄
;命令分割符
多個命令順序執行,用分號分割
``命令替換
命令替換
『』強引用
不做變數替換
「」弱引用
實現變數和命令的替換
*萬用字元
通配{}
擴充套件擴充套件或構件**塊
標準輸入:stdin 0
標準輸出:stdout 1
標準錯誤:stderr 2
標準輸出重定向
1> 1>> > >>
標準錯誤重定向
2> 2>>
混合輸出
&>
2>&1
符號作用*
任意長度任意字元
?任意單個字元
指定範圍內的任意單個字元
[^]指定範圍外的任意單個字元
[[:upper:]]
所有大寫字母
[[:lower:]]
所有小寫字母
[[:alpha:]]
所有字母
[[:digit:]]
所有數字
[[:space:]]
所有空白字元
[[:punct:]]
所有標的符號
[ ^ [:punct:]]
所有標的符號之外
例:[1-9],[a-z],[a-z],[a-z0-9]
Linux bash基礎特性
2.2 檔案相關 2.3 指令碼程式設計相關 2.4 其他 shell程式是獨特的程式,這個程式提供了乙個介面 就那黑乎乎的命令列介面,即linux的終端介面 使用者通過這個介面訪問作業系統核心的服務,從而解析使用者提供的命令。而bash bourne again shell 是眾多shell的一種...
Linux Bash基礎特性
1 命令補全 bash執行命令 內部命令 help命令 外部命令 bash根據path環境變數定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文 件,第一次找到即為要執行的命令 直接補全 tab,使用者給定的字串只有一條惟一對應的命令 以使用者給定的字串為開頭對應的命令不惟一,則再次tab會給出...
Linux Bash基礎特性
1 命令補全 bash執行命令 內部命令 help命令 外部命令 bash根據path環境變數定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文 件,第一次找到即為要執行的命令 直接補全 tab,使用者給定的字串只有一條惟一對應的命令 以使用者給定的字串為開頭對應的命令不惟一,則再次tab會給出...