[UCI] OpenWrt-uci命令系統
1.UCI命令
2.UCI的檔案和流程
3.UCI 的檔案語法
4.UCI 命令讀寫配置
5.綜合例項1.UCI命令
一個眾所周知的原因,在Linux下各種軟體包有各種不同的配置指令碼,每個配置指令碼的語法格式和操作方式不同,
這樣的設計雖然可以體現出各軟體包自身的優勢,同時也增加了學習曲線。在這一點上OpenWrt的UCI無疑處理的更
勝一籌。UCI是集中式配置資訊管理介面(Unified Configuration Interface)的縮寫,他是OpenWrt引進的一套配置
引數管理系統。UCI管理了OpenWrt下最主要的系統配置引數並且提供了簡單、容易、標準化的人機互動介面。UCI中
已經包含了網路配置、無線配置、系統資訊配置等作為基本路由器所需的主要配置引數。同時UCI也可以幫助開發人
員快速的建立一套基於OpenWrt的智慧路由產品控制介面。
2.UCI的檔案和流程
UCI的配置檔案全部儲存在/etc/config目錄下。
-
[email protected]:/# ls /etc/config/
- dhcp dropbear firewall network system wireless
啟動的(以samba舉例):
1.啟動指令碼/etc/init.d/samba
2.啟動指令碼通過UCI分析庫從/etc/config/samba獲得啟動引數
3.啟動指令碼完成正常啟動
由於UCI的資料檔案較為簡單,並且具備了很nice的直接觀感,所以配置檔案既可以使用UCI
命令進行修改,也可以使用VI編輯器直接修改檔案。但如果兩種方式都是用時需要注意UCI命
令修改會產生快取,每次修改好要儘快確認儲存避免出現衝突。
最常見的幾個UCI配置作用說明
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'
UCI 允許只有節點型別的匿名節點存在
節點型別和名字建議使用單引號包含以免引起歧義
節點中可以包含多個 option 選項或 list 列表選項。
節點遇到檔案結束或遇到下一個節點代表完成。
option 選項語法格式
- option 'key' 'value'
選項的鍵與值建議使用單引號包含
避免相同的選項鍵存在於同一個節點,否則只有一個生效
list 列表選項語法格式
- list 'list_key' 'list_value'
選項的鍵與值建議使用單引號包含
列表鍵的名字如果相同,則相同鍵的值將會被當作陣列傳遞給相應軟體
UCI 的語法容錯
-
option example value
-
option 'example' value
-
option example "value"
-
option "example" 'value'
- option 'example' "value"
-
option 'example" "value'
- option example some value with space
4.UCI 命令讀寫配置
語法格式
- uci [<options>] <command> [<arguments>]
UCI 讀取總是先讀取記憶體中的快取,然後再讀取檔案中的
進行過增加,修改,刪除操作後要執行生效指令,否則所做修改只存留在快取中
讀取類語法
取得節點型別
- uci get <config>.<section>
- uci get <config>.<section>.<option>
- uci show
- uci show <config>
- uci show <config>.<section>
- uci show <config>.<section>.<option>
- uci changes <config>
- uci show -X <config>.<section>.<option>
增加一個匿名節點到檔案
- 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>
轉自:http://developer.t-firefly.com/thread-1035-1-1.html
相關推薦
[UCI] OpenWrt-uci命令系統
目錄: 1.UCI命令 2.UCI的檔案和流程 3.UCI 的檔案語法 4.UCI 命令讀寫配置 5.綜合例項1.UCI命令一個眾所周知的原因,在Linux下各種軟體包有各種不同的配置指令碼,每個配置指令碼的語法格式和操作方式不同,這樣的設計雖然可以體現出各軟體包自身的優勢
openwrt uci 命令實現中繼
開啟WIFI功能,MR10U刷OpenWrt預設沒啟用WIFI uci set [email protected][0].disabled=0 uci commit wireless wifi 建立wwan介面 uci set net
初識OPENWRT:uci介紹與命令列運用
1.作用:UCI是集中式配置資訊管理介面(Unified Configuration Interface),是OpenWrt引進的一套配置 引數管理系統。 日前已有大量軟體包支援UCI模式管理,但不
uci命令系統詳解
目錄: 1.UCI命令 2.UCI的檔案和流程 3.UCI 的檔案語法 4.UCI 命令讀寫配置 5.綜合例項1.UCI命令一個眾所周知的原因,在Linux下各種軟體包有各種不同的配置指令碼,每個配置指令碼的語法格式和操作方式不同,這樣的設計雖然可以體現出各軟體包自身的優勢
openwrt uci api續: 找出匿名節點的"名字"
在使用uci api函式進行配置檔案管理的時候,有些配置檔案裡面會有匿名節點的存在。現有的uci api沒有直接支援修改匿名節點的api,所以想要修改匿名節點就略顯頭疼,甚至無從下手。其實匿名節點並非真的匿名,它也有名字存在。以下以/etc/config/wireless檔
[openwrt] uci 的shell和lua介面
uci是openwrt上配置操作的介面,不管是自動化的shell指令碼,還是使用luci來二次開發配置介面,都會用到這部分知識。 uci提供了lua, shell, c介面,這裡主要用到了前兩種
OpenWRT UCI API的使用——C語言
UCI 是OpenWRT為實現配置集中化而引入的一個軟體包, 通過修改UCI,可以實現對OpenWRT的絕對部分配置的修改.LUCI(OpenWRT 的WEB配置介面)也是通過讀UCI配置檔案的操作來實現使用者對路由的配置的。通過掌握UCI的API的使用,可以方便地將您的軟
Openwrt UCI 快捷切換SS 配置
touch /etc/config/mytest uci add mytest ssentry uci set [email protected][0].enable = 1 uci se
Openwrt UCI API的使用
OpenWRT UCI API的使用 UCI 是OpenWRT為實現配置集中化而引入的一個軟體包, 通過修改UCI,可以實現對OpenWRT的絕對部分配置的修改.LUCI(OpenWRT 的WEB配置介面)也是通過讀UCI配置檔案的操作來實現使用者對路由的配置的。通過掌握
Linux命令----系統目錄結構
啟動程序 /etc 內核 行程 掛載 設備 系統目錄 ubun 系統啟動過程 Ubuntu沒有盤符的概念,只有一個根目錄/,所有文件都在它下面 根目錄: / 系統可執行程序(如:命令): /bin 內核和啟動程序(所有和啟動相關的文件都保存在這裏):
Linux命令-系統管理
中文 指定 pin 獲得 IT 大小 命令執行 lin 無法 查看當前日歷:cal cal命令用於查看當前日歷,-y顯示整年日歷: 顯示或設置時間:date 設置時間格式(需要管理員權限): date [MMDDhhmm[[CC]YY][.ss]] +format CC為
Linux命令[系統管理與維護命令]
ls: 列出工作目錄所含的檔案及子目錄, 可以用dir代替ls 語法: ls [選項] [路徑或檔案] -- 註釋: 列出mnt目錄下的檔案及其子目錄-- > ls /mnt apk-update-service git-repo-for-redmine li
Linux基礎命令——系統安全
1)passwd 用於更改賬戶密碼,passwd+使用者名稱,然後重複輸入兩次密碼。 2)su 用於更換使用者,su+使用者名稱。超級許可權使用者換下級使用者不需要密碼,同級以及向上級許可權使用者更換需要密碼。下圖是使用者fst換為root和root換為使用者fst的截圖: 3)
Linux基礎命令——系統管理
1)df 該命令用於檢查檔案的磁碟佔用情況,所有使用者可用,具體效果圖如下。 加上-T顯示檔案系統型別。 2)top 用於顯示執行中的程式。 按下h獲得命令列表,按下q退出該面板。 top -i 不顯示閒置程式,截圖如下: 3)free 該命令用於顯示記憶體的使用情況,-b -
2、基本命令-系統使用者
清屏: $ clear 顯示當前目錄: $ pwd 建立使用者: $ useradd hw:使用者名稱 $ passwd hw:密碼 Linux下,預設情況建立一個使用者的同時會給使用者在系統的目錄下建立一個屬於自己的使用者目錄,該目錄稱為使用者主目錄。
OpenWrt簡單命令配置
文章目錄 OpenWrt簡單命令配置文件 恢復系統(用電腦主機做OpenWrt路由的情況) 配置內容 介面新增 初始配置 配置 PPPoE: 配置WIFI無線網路
Linux命令:系統管理命令和系統安全命令
系統管理命令 df 1.作用: 檢查檔案系統磁碟佔用情況 2.格式: df [options] -s:對每個names引數只給出佔用的資料塊總數 -a: 遞迴顯示指定目錄中各檔案及子目錄中各檔案佔用的資料塊數, 若既不指定-
openwrt的編譯系統是如何製作根檔案系統的
答:分析以下makefile即可獲取整個過程 以nxp layerscape系統的編譯過程為例 1.分析target/linux/layerscape/image/Makefile的最後一句,這是一個好的開端 $(eval $(call BuildImage)) 2.巨集Bu
linux系統管理命令-系統安全
系統安全 18.01 chroot命令 切換作業系統 # mount -t ext3 /dev/sdb1 /mnt # chroot /mnt/ 18.02 lastb命令 用於顯示使用者異常的登入列表 # lastb # lastb root 18.03 la
Linux-2 常見的命令——系統管理與維護命令
Linux-2 常見的命令——系統管理與維護命令 1、ls命令:顯示指定工作目錄下的內容,列出工作目錄所含的檔案及子目錄。此命令於Windows下的dir類似。Linux也提供了dir命令可以代替ls命令。 -a:顯示指定目錄下的所有檔案及子目錄,包含隱藏檔案“.”開頭的檔案或者目錄視為隱藏