bash的基礎特性:
命令補全:
Shell程序在接收到用戶執行命令的請求,分析完成之後,最左側的字符串會被當作命令;
命令查找機制:
查找內部命令;
根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名;
給定的打頭字符串如果能唯一標識某目錄程序文件,則直接補全;
不能唯一標識某目錄程序文件,再擊tab鍵一次,會給出列表;
路徑補全:
在給定的起始路徑下,以對應路徑下的打頭字符串來逐一匹配起始路徑下的每個文件;
tab:
如果能唯一標識,則直接補全;
否則,再一次tab,給出列表;
命令行展開
~:自動展開爲用戶的家目錄,或指定的用戶的家目錄;
{}:可承載一個以逗號分隔的路徑列表,並能夠將其展開爲多個路徑:
例如:/tmp/{a,b} 相當於 /tmp/a /tmp/b
問題1:如何創建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b ?
~]# mkdir -pv /tmp/x/{y1/{a,b},y2}
問題2:如何創建a_c,a_d,b_c,b_d;
~]# mkdir {a,b}_{c,d} -v
mkdir: created directory `a_c'
mkdir: created directory `a_d'
mkdir: created directory `b_c'
mkdir: created directory `b_d'
bash的命令執行狀態結果
bash通過狀態返回值來輸出此結果;
成功:0
失敗:1-255
命令執行完成之後,其狀態返回值保存於bash的特殊變量$?中;
~]# pwd
/root
~]# echo $?
0
命令正常執行時,有的還會有命令返回值;
根據命令及其功能不同,結果各不相同;
引用命令的執行結果:
$(COMMAND)
或’COMMAND‘
Bash的基於特性:引用
強引用:‘’
弱引用:“”
命令引用:‘’
實例:
[root@localhost tmp]# ls
a hello
[root@localhost tmp]# mkdir $(date +%H-%M-%S-%T)
[root@localhost tmp]# ls
20-51-40-20:51:40 a hello
Bash基礎特性:快捷鍵
Ctrl+a:跳轉至命令行行首
Ctrl+e:跳轉至命令行行尾
Ctrl+u:刪除行首至光標所在處之間的所有字符;
Ctrl+k:刪除光標所在處至行尾的所有字符;
Ctrl+l:清屏,相當於clear