目錄:1.uci命令
2.uci的檔案和流程
3.uci 的檔案語法
4.uci 命令讀寫配置
5.綜合例項
1.uci命令
乙個眾所周知的原因,在linux下各種軟體包有各種不同的配置指令碼,每個配置指令碼的語法格式和操作方式不同,
這樣的設計雖然可以體現出各軟體包自身的優勢,同時也增加了學習曲線。在這一點上openwrt的uci無疑處理的更
勝一籌。uci是集中式配置資訊管理介面(unified configuration inte***ce)的縮寫,他是openwrt引進的一套配置
引數管理系統。uci管理了openwrt下最主要的系統配置引數並且提供了簡單、容易、標準化的人機互動介面。uci中
已經包含了網路配置、無線配置、系統資訊配置等作為基本路由器所需的主要配置引數。同時uci也可以幫助開發人
員快速的建立一套基於openwrt的智慧型路由產品控制介面。
2.uci的檔案和流程
uci的配置檔案全部儲存在/etc/config目錄下。
root@openwrt:/# ls /etc/config/
dhcp dropbear firewall network system wireless
複製**
日前已有大量軟體包支援uci模式管理,但不是所有的軟體包,支援的軟體包是這樣來完成
啟動的(以samba舉例):
1.啟動指令碼/etc/init.d/samba
2.啟動指令碼通過uci分析庫從/etc/config/samba獲得啟動引數
3.啟動指令碼完成正常啟動
由於uci的資料檔案較為簡單,並且具備了很nice的直接觀感,所以配置檔案既可以使用uci
命令進行修改,也可以使用vi編輯器直接修改檔案。但如果兩種方式都是用時需要注意uci命
令修改會產生快取,每次修改好要盡快確認儲存避免出現衝突。
最常見的幾個uci配置作用說明
檔案作用
/etc/config/dhcp
面向lan口提供的ip位址分配服務配置
/etc/config/dropbear
ssh服務配置
/etc/config/firewall
路由**,埠**,防火牆規則
/etc/config/network
自身網路介面配置
/etc/config/system
時間伺服器時區配置
/etc/config/wireless
無線網路配置
3.uci的檔案語法
uci檔案語法舉例
config 'section-type' 'section'
option 'key' 'value'
list 'list_key' 'list_value'
config 'example' 'test'
option 'string' 'some value'
option 'boolean' '1'
list 'collection' 'first item'
list 'collection' 'second item'
複製**
config 節點 以關鍵字 config 開始的一行用來代表當前節點
section-type 節點型別
section 節點名稱
option 選項 表示節點中的乙個元素
key 鍵
value 值
list 列表選項 表示列表形式的一組引數。
list_key 列表鍵
list_value 列表值
config 節點語法格式
config 'section-type' 'section'
複製**
config 節點(後文統一稱為節點)原則
uci 允許只有節點型別的匿名節點存在
節點型別和名字建議使用單引號包含以免引起歧義
節點中可以包含多個 option 選項或 list 列表選項。
節點遇到檔案結束或遇到下乙個節點代表完成。
option 選項語法格式
option 'key' 'value'
複製**
option 選項(後文統一稱為選項)原則
選項的鍵與值建議使用單引號包含
避免相同的選項鍵存在於同乙個節點,否則只有乙個生效
list 列表選項語法格式
list 'list_key' 'list_value'
複製**
list 列表選項(後文統一稱為列表)原則
選項的鍵與值建議使用單引號包含
列表鍵的名字如果相同,則相同鍵的值將會被當作陣列傳遞給相應軟體
uci 的語法容錯
option example value
option 'example' value
option example "value"
option "example" 'value'
option 'example' "value"
複製**
uci 無法容忍的語法
option 'example" "value'
option example some value with space
複製**
盡量使用常規字元去處理器 uci,特殊字元有可能會破壞資料結構的完整性。
4.uci 命令讀寫配置
語法格式
uci
複製**
讀寫規則
uci 讀取總是先讀取記憶體中的快取,然後再讀取檔案中的
進行過增加,修改,刪除操作後要執行生效指令,否則所做修改只存留在快取中
讀取類語法
取得節點型別
uci get .
複製**
取得乙個值
uci get ..
複製**
顯示全部 uci 配置
uci show
複製**
顯示指定檔案配置
uci show
複製**
顯示指定節點名字配置
uci show .
複製**
顯示指定選項配置
uci show ..
複製**
顯示尚未生效的修改記錄
uci changes
複製**
匿名節點顯示(如果所顯示內容有匿名節點,使用-x 引數可以顯示出匿名節點的 id)
uci show -x ..
複製**
寫入類語法
增加乙個匿名節點到檔案
uci add
複製**
增加乙個節點到檔案中
uci set .=
複製**
增加乙個選項和值到節點中
uci set ..=
複製**
增加乙個值到列表中
uci add_list ..=
複製**
修改乙個節點的型別
uci set .=
複製**
修改乙個選項的值
uci set ..=
複製**
刪除指定名字的節點
uci delete .
複製**
刪除指定選項
uci delete ..
複製**
刪除列表
uci delete ..
複製**
刪除列表中乙個值
uci del_list ..=
複製**
生效修改(任何寫入類的語法,最終都要執行生效修改,否則所做修改只在快取中,切記!)
uci commit
複製**
UCI OpenWrt uci命令系統
目錄 1.uci命令 2.uci的檔案和流程 3.uci 的檔案語法 4.uci 命令讀寫配置 5.綜合例項 1.uci命令 乙個眾所周知的原因,在linux下各種軟體包有各種不同的配置指令碼,每個配置指令碼的語法格式和操作方式不同,這樣的設計雖然可以體現出各軟體包自身的優勢,同時也增加了學習曲線。...
Tcl TK之命令 命令 命令
在tcl中,一切動作都是通過命令實現的,命令通過換行符或分號隔開,對於使用過linux系統的朋友來說非常容易理解。tcl處理一條命令分為兩個步驟 解析和執行。下面將列舉幾個常見的命令 set命令用於建立 讀取和修改變數,此命令需要乙個或者兩個引數。第乙個引數是變數,第二個引數 若給出 是變數的新值。...
source 命令 命令
source 命令 從 c shell 而來 是 bash shell 的內建命令。點命令 就是乙個點符號.從 bourne shell 而來 是 source 的另一名稱。這兩個命令都以乙個指令碼檔名為引數,該指令碼將作為當前 shell 的環境執行,即不會啟動乙個新的子程序。所有在指令碼中設定的...