bash特性詳解
bash及其特性:
shell:外殼
GUI:Gnome,KDE,Xface
SLI:sh,csh,ksh,bash,tcsh,zsh
程序 進程
進程:在每個進程看來,當前主機上只存在內核和當前進程
進程是程序的副本,進程是程序執行實例
用戶工作環境:
bash:
#
$
shell 子shell
bash--bash
bash:
1、命令歷史
2、管道,重定向
3、命令別名
4、命令行編輯
5、命令行展開
6、文件名通配
7、變量
8、編程
命令行編輯:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u:刪除光標到命令行首的內容
Ctrl+k:刪除光標到命令行尾的內容
Ctrl+l:清屏
命令歷史:
查看命令歷史:
history:
-c:清空命令歷史
-d OFFSET n:刪除指定位置的命令
-w:保存歷史命令至歷史文件中
環境變量:
PATH:命令搜索路徑
HISTSIZE:命令歷史緩衝區大小
命令歷史的使用技巧:
!n:執行命令歷史中的第n條命令;
!-n:執行命令歷史中的倒數第n條命令;
!!:執行上一條命令;
!string:執行命令歷史中最近一個以指定字符串開頭的命令
!$:引用前一個命令的最後一個參數;(Esc(鬆開). Alt+.)
命令補全,路徑補全:
命令補全:搜索PATH環境變量所指定的每個路徑下以我們給出的字符串開頭的可執行文件,如果多於一個,兩次Tab,可以給出列表;否則將直接補全;
Tab[Tab]
路徑補全:搜索我們給出的起始路徑下的每個文件名,並試圖補全
Tab[Tab]
命令別名:
alias CMDALIAS=‘COMMAND [options] [arguments]’
在shell中定義的別名僅在當前shell生命週期中有效;別名的有效範圍僅爲當前shell進程;
\CMD:
unalias CMDALIAS:刪除別名
命令替換:$(COMMAND), `COMMAND`(反引號)
把命令中某個子命令替換爲其執行的結果
file-2016-08-16-19-01-31
bash支持的引號:
` ` :命令替換:
“ ”:弱引用,可以實現變量替換
‘ ':強引用,不完成變量替換
文件名通配:globbing
* :匹配任意長度的任意字符
?:匹配任意單個字符
[ ]:匹配指定範圍內的任意單個字符
[:space:]:空白字符
[:punct:]:標點符號
[:lower:]:小寫字母
[:upper:]:大寫字母
[:alpha:]:大小寫字母
[:digit:]:數字
[:alnum:]:數字和大小寫字母
[^ ]:匹配指定範圍之外的任意單個字符