進程:在每一個進程看來,當前主機上只存在內核和當前進程git
進程是程序的副本,進程是程序執行實例shell
用戶工做環境:編程
bash:bash
#ide
$spa
一、命令歷史命令行
二、管道、重定向生命週期
三、命令別名進程
四、命令行編輯字符串
五、命令行展開
六、文件名通配
七、變量
八、編程
命令行編輯:
光標跳轉:
Crtl+a:跳到行首
Ctrl+e:跳到行尾
Ctrl+u:刪除光標至行首內容
Ctrl+k:刪除光標至行尾內容
Ctrl+l:清屏
命令歷史:
history:查看命令歷史
-c:清空命令歷史
-d OFFSET [n]:刪除指定位置的命令
-w:保存命令歷史至歷史文件
命令歷史的使用技巧:
!n:執行命令歷史中的第n條命令
!-n:執行命令歷史中的倒數第n條命令
!!:執行上一條命令
!string:執行命令歷史中最近一個以指定字符串開頭的命令
!$:引用前一個命令的最後一個參數
Esc .
命令補全
路徑補全
命令別名:
alias CMDALIAS ='COMMAND [options] [arguments]'
在shell中定義的別名盡在當前shell生命週期中有效;別名的有效範圍僅爲當前shell進程;
unalias:撤銷別名
\CMD:使用命令自己
命令替換:%(COMMAND),反引號:`COMMAND`
把命令中某個自命令替換爲其執行結果的過程
e.g touch ./file-$(date +%F-%H).txt
``:命令替換
"":弱引用,能夠實現變量替換
'':強引用,不完成變量替換
文件名通配,globbing
*:任意長度的任意字符
?: 任意單個字符
[ ]:匹配指定範圍內的任意單個字符
[ abc ],[ a-m ]
[:space:] 空白字符
[:punct:] 標點符號
[:lower:] 小寫字母
[:upper:] 大寫字母
[:alpha:] 大小寫字母
[:digit:] 數字
[:alnum:] 數字和大小寫字母
man 7 glob
[^]:匹配指定範圍以外的任意單個字符