Linux基礎特性總結之二
計算機基礎
Linux歷史
文件管理(查看、處理)
目錄管理
LHS
時間戳、時間、關機
哲學思想
文件命名
Bash的基礎特性
命令行展開
命令補全
路徑補全
glob
快捷鍵
管道
I/O重定向
別名
hash
變量
grep,egrep,fgrep
變量
配置文件
算術運算表達式
測試表達式
退出狀態碼
變量:
定義
變量名
變量
數據類型
變量類型
變量類型作用(存儲數據的格式,範圍,參與的運算)
強類型
弱類型 1不用定義 2 直接賦值,默認存儲 為字符型 3 調用時隱式轉換
bash作用域的變量
本地, 環境 , 局部, 位置 , 特殊變量 的生效範圍
變量命令的法則
1 不能數字開頭,不能用關鍵字
2 見名知義
3 避免全大寫, _ 開頭
文件命名的法則
1 不能數字開頭,不能用特殊字符 (glob通配符)
2 區分大小寫
3 不能為/ [^/]
4 長度<255
5 .開頭為隱藏文件
哲學思想
文件/ 組合 小程序/ 文本實現配置 / 盡量不交互
grep . [] [^] * \+ \? \{m\} \{m,n\} \(\)
egerp . [] [^] * + ? {m} {m,n} () |
^,$
egrep 或 “grep並不支持”
[abcd] 字符級別的或
c|cat 左側整體或右側整體
(c|c)at 分組或
變量賦值
name=‘value‘
name將單個內存空間命名
= 賦值符號
賦值: 將值存儲在變量所表示的內存空間中
‘ ‘
“ ”
value 值
純文本引用賦值
name=obama
空格?
變量引用實現賦值 加載一個變量內存空間中存儲的值至CPU寄存器中,經過處理後,存加內存空間中.
name="obama jerry"
name=$name ##存回原處
var=$name ##存到另一處
命令引用實現賦值
name=`command`
name=$(command)
引用 強、弱
${name} $name 使用的場景
撤消: Unset
本地變量查看: set
環境變量查看: export env printenv
不要隨便給大寫字母賦值,可能會導致bash工作特性改變
PS1 命令提示符前面的字符
PATH 命令的搜索路徑
UID
SHELL
位置變量: 類似,正則表達式引擎將括號中模式所匹配到的內容記錄於內置變量中, \1,\2,\3
bash將傳遞給腳本的參數保存在內置變量中, $1,$2,$3,可供腳本中調用,如果,不存在,則為空。
特殊變量:
$0
$#
$@
$* 看做一個整體
$? 命令的執行狀態結果
換港操作符
shift #
算術運算
let 算術運算表達式
let var=$num1+$num2
變量引用賦值
var=$[算術運算表達式]
var=$((算術運算表達式))
命令引用賦值
var=$(expr 算術運算表達式)
var=$(expr $num1 + $num2)
生成隨機數
let $RANDOM%$VAR
$[$RANDOM%10]
$(($RANDOM%10))
$( expr $RANDOM % 10)
配置文件
全局: /etc/{profile,profile.d} /etc/bashrc
個人:~/.bashrc, ~/.bash_profile
功能
profile 環境 變量 , 腳本
bashrc 本地變量 別名
登陸方式,讀取配置順序
交互式登陸
需要輸入密碼的登陸 或 su -[l] user
/etc/profile /etc/profile.d ~/.bash_profile
~/.bashrc /etc/bashrc
非交互式登陸
不需要輸入密碼的登陸 或 su user 圖形終端
腳本運行在當前shell子shell進程中
~/.bashrc /etc/bashrc /etc/profile.d
測試表達式
數值測試
符號: -eq,-ne,-gt,-ge,-lt,-le
字符測試 (左右都需要 加 引號, 除了 pattern不能加引號,且只能用於 [[ ]] 中)
符號: == , != , >, < , -z "string" -n "string" A =~ pattern(正則表達式字符組合的模式)
文件測試
符號
退出狀態碼
exit [#]
本文出自 “Reading” 博客,謝絕轉載!
Linux基礎特性總結之二