1. 程式人生 > >初識OPENWRT:uci介紹與命令列運用

初識OPENWRT:uci介紹與命令列運用

1.作用:UCI是集中式配置資訊管理介面(Unified Configuration Interface),是OpenWrt引進的一套配置
引數管理系統。
	日前已有大量軟體包支援UCI模式管理,但不是所有的軟體包,支援的軟體包是這樣來完成
	啟動的(以samba舉例):
	1.啟動指令碼/etc/init.d/samba
	2.啟動指令碼通過UCI分析庫從/etc/config/samba獲得啟動引數
	3.啟動指令碼完成正常啟動
2.檔案語法:
	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 列表值
3.命令操作:uci [<options>] <command> [<arguments>]
	config:檔名   section:節點名   option:選項名
	--讀
		獲取節點型別:uci get <config>.<section>
		獲取節點選項的值:uci get <config>.<section>.<option>
		顯示全部uci配置:uci show
		顯示指定檔案配置:uci show <config>
		顯示指定節點名字配置:uci show <config>.<section>
		顯示指定選項配置:uci show <config>.<section>.<option>
		顯示未生效的修改記錄:uci changes <config>
		匿名節點顯示:uci show -X <config>.<section>.<option>(如果所顯示內容有匿名節點,使用-X 引數可以顯示出匿名節點的 ID)
	--寫
		增加一個匿名節點到檔案:uci add <config> <section-type>
		增加一個節點到檔案:uci set <config>.<section>=<section-type>
		增加一個選項和值到檔案:uci set <config>.<section>.<option>=<value>
		增加一個值到列表:uci add_list <config>.<section>.<option>=<value>
		修改節點型別:uci set <config>.<section>=<section-type>
		修改選項的值:uci set <config>.<section>.<option>=<value>
	--刪
		刪除指定名字的節點:uci delete <config>.<section>
		刪除指定選項:uci delete <config>.<section>.<option>
		刪除列表:uci delete <config>.<section>.<list>
		刪除列表中的一個值:uci del_list <config>.<section>.<option>=<string>
	--生效
		生效修改:uci commit <config>(任何寫入類的語法,最終都要執行生效修改,否則所做修改只在快取中,切記!)