4.1 bash的特性
a) 支援命令歷史、命令補全
b) 支援管道、重定向
c) 支援命令別名
d) 支援命令列編輯
e) 支援命令列展開
f) 支援檔名通配
g) 支援變數
h) 支援程式設計
4.2 bash支援的引號
``:命令替換
"":弱引用,可以實現變數替換
'':強引用,不完成變數替換
4.3.1 游標跳轉
ctrl+a:跳到命令列首
ctrl+e:跳到命令行尾
ctrl+u:刪除游標至命令列首的內容
ctrl+k:刪除游標至命令行尾的內容
ctrl+<--:游標定位到離自己最近的乙個單詞前面
ctrl+l:清屏
4.3.2 命令歷史
history:檢視命令歷史
-c:清空命令歷史
-d offset [n]:刪除指定位置的命令歷史
-w:儲存命令歷史至歷史檔案~/.bash_history中
命令歷史的使用技巧:
!n:執行命令歷史中的第n條命令
!-n:執行命令歷史中倒數第n條命令
!!:執行上一條命令
!string:執行命令歷史中最近乙個以指定字串開頭的命令
!$:引用前乙個命令的最後乙個引數
esc,.:按下esc鬆開後按.,引用前乙個命令的最後乙個引數
控制命令歷史的記錄方式:
環境變數:histcontrol
ignoredups:忽略重複的命令(連續且相同方為「重複」)
ignorespace:忽略所有以空格開頭的命令,如「 ls -l」
ignoreboth:ignoredups和ignorespace均生效
修改環境變數histcontrol值的方式:export histcontrol=ignoreboth
4.3.3 命令補全
搜尋path環境變數所指定的每個路徑下以我們給出的字串開頭的可執行檔案,如果多於乙個,兩次tab,可以給出列表,否則將直接補全
4.3.4 路徑補全
搜尋我們給出的起始路徑下的每個檔名,並試圖補全
4.3.5 命令別名
1
alias
cmdalias=
'command [options] [arguments]'
在shell中定義的別名僅在當前shell生命週期中有效,別名的有效範圍為當前的shell程序。
4.4 命令替換
1$(command)或`command`
把命令中某個子命令替換為其執行結果的過程,就叫做命令替換
4.5 檔名通配:globbing
*:匹配任意長度的任意字元
?:匹配任意單個字元
:匹配指定範圍內的任意單個字元
[abc],[a-m],[0-9]
[[:space:]] 表示空白字元
[[:punct:]] 表示標點符號
[[:lower:]] 表示小寫字母
[[:upper:]] 表示大寫字母
[[:alpha:]] 表示大小寫字母
[[:digit:]] 表示數字
[[:alnum:]] 表示數字和大小寫字母
使用man 7 glob命令可以獲得以上字元集合的幫助資訊!!!
[^]:匹配指定範圍之外的任意單個字元
4.6 環境變數:
path:命令搜尋路徑
histsize:命令歷史緩衝區大小
shell:當前shell
4.6.1 bash內建變數:
random:儲存著0-32768之間的隨機數
隨機數生成器:熵池
/dev/random:其生成的隨機數用盡時會阻塞使用者程序,待生成更多的隨機數裡即恢復,比較安全
/dev/urandom:其生成的隨機數用盡時會通過軟體模擬生成更多的隨機數進來,不會阻塞使用者程序
4.7 命令列展開
~:展開為使用者的主目錄
~username:展開為指定使用者的主目錄
{}:可承載乙個以逗號分隔的列表,並將其展開為多個路徑
/tmp/ ==> /tmp/a,/tmp/b
4.8 命令的執行結果狀態
bash使用特殊變數$?儲存最近一條命令的執行狀態結果
程式執行以後有兩類結果:
a) 程式的返回值
b) 程式的執行狀態結果
程式狀態返回**(0-255):
0:正確執行
1-255:錯誤執行,1、2、127系統預留,有特殊意義
第四章 bash特性詳解
第四章 bash特性詳解 03 02 base特性詳解 bash及其特性 shell 外殼 gui gnome,kde,xfce cli sh,csh,ksh,bash,tcsh,zsh linux允許同乙個使用者登入多次 root,student 程式 程序 程序 在每個程序看來,當前主機上只存在...
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...
第四章 物件
三個特性 身份 型別 值 每個物件都有唯一的身份來標識自己,使用內建函式id 得到。例子 usr bin env python coding utf 8 a 32 print a b a print id a id b 結果 d python27 python.exe e workp python ...