1,進程是程序運行的副本。計算機是由進程來操作的。
物理地址
線性地址
cpu字長
靜態編譯
動態鏈接
設備類型
block 塊
隨即存儲,按塊存取
character 字符
線性存儲,按字符存取
2.BASH
全局:
/etc
profile ,profile.d/*,bashrc
個人:
~/. bash_profile ~/.bashrc
pofile類:
設定環境變量
運行命令或腳本
bashrc類:
設定本地變量
設定命令別名
交互式讀取: /etc/profile –>/etc/profile.d/* –>~/.bash_profile –>~/.bashrc –>/etc/bashrc
非交互:~/.bashrc –>/etc/bashrc –>/etc/profile.d/*
重新讀取source文件
source 文件
. 文件
文件名通配glob 匹配文件名
特殊字符,元字符,不表示字符的表面意義,能匹配符合特徵的字符串
*:任意長度的任意字符
?:任意單個字符
[]:匹配指定範圍內的任意字符
[[:alpha:]]=[a-zA-z]
[[:digit:]]=[0-9]
[[:lower:]]=[a-z]
[[:upper:]]=[A-Z]
[[:alnum:]]=[a-zA-Z0-9]
[[:space:]]=空白字符
[[:punct:]]=符號
[^a-z] 除了a-z之外的
命令補全,路徑補全
內部命令:shell自帶
外部命令:位於某路徑下有與命令相同的可執行程序
hash:運行過的命令都存儲到哈希表中,再次運行直接調用。-r清空,-d移除某個命令緩存
命令歷史
先緩存到內存中,正常註銷保存到.bash_history
histoty查看歷史命令
$HISTSIZE
$HISTFILE
$HISTFILESIZE
$HISTCONTROL ignorespace ignoredups ignoreboth
!+ n 執行第n條命令
!! 上一條命令
!+ 命令字母 離當前最近的的以命令字母開頭的命令
調用上次命令的地址可用:
ESC .
ALT+.
!$
history –c 清空歷史命令
-w 保存緩衝歷史到磁盤文件
命令行編輯
行首:Ctrl+a
行尾:Ctrl+e(end的意思)
刪除至行首:Ctrl+u
刪除至行尾:Ctrl+k
清屏: Ctrl+l 命令:clear (cls)
取消:Ctrl+c
命令行展開
管道與重定向
標準輸出 stdin
COMMAN > | >> FILE
set –C | +C
>| 強制覆蓋
/dev/null 數據裝置
/dev/zero 泡泡機
/dev/random 隨機數
/dev/urandom 隨機數
標準輸入 stdout
Command < FILE
COMMAND << EOF
標準錯誤輸出 stderr
COMMAND 2> FILE
COMMAND 2>> FILE
同時重定向
COMMAND > FILE 2>&1
COMMAND &>FILE
管道:
COMMAND1 |COMMAND2|COMMAND3 …
tee
ls /etc/|tee > ls.out
命令別名
alias name=’command’
3.變量類型
字符
數值
整數
浮點(單精度,雙精度)
編譯性語言(靜態語言,強類型)\
面向過程
面向對象
源程序--編譯--鏈接--執行
腳本型語言(動態語言,弱語言):解釋執行,依賴解釋器
默認爲字符型
bash,perl,python,php,ruby
4.bash變量類別
本地變量(局部變量) 變量只有在引用的時候才+$
作用範圍僅限當前文件
僅對當前shell有效
‘(單引號):強引用
“(雙引號):弱引用
`( 反引號):命令替換 用命令的執行結果替換命令
聲明變量 ${變量} 變量引用
-i 整數
-a數組
-x環境變量
-r只讀 通常只有註銷系通才可釋放
撤銷變量 unset
環境變量
作用範圍是當前shell及子shell
env export
特殊變量
$?程序執行狀態的返回值 0代表成功 1-255代表失敗
$$ bash的pid
位置變量
5:正則表達式
grep:Global Regular Expression Printing
grep [option] … file
-v :反向匹配、
-i :不區分大小寫
-o:只顯示匹配的串
-A#:
-B#:
-C#:
-E:擴展的的正則表達式
正則表達式元字符:
。 :匹配任意一個字符
[]:匹配指定範圍內的單個字符
[^]:匹配範圍外的單個字符
*:匹配前字符0次或任意次 工作在貪婪模式,能長則長
?:匹配前的字符0次或1次
\{m,n\} 精確次數
\{m,\}
\{0,m\}
\{m\}
單詞錨定:
\<:錨定詞首
\>:鉚釘詞尾
行錨定:
^:行首錨定 ^root
$:行尾錨定 root$
.* 任意長度任意字符
分組字符,後項引用
\(nn\) \(l..e\).*\1r