Openwrt中所有的配置文件都存放再/etc/config中。uci是openwrt中用来修改配置文件的一个软件。
一、配置文件的格式
![](https://img-blog.csdnimg.cn/7cb2b45ddd8c4e1dae2607bf92039b7e.png)
config声明一个section。example 指的是section的type,也就是类型。
test指的是section的名字。secition的名字可以为空。为空时指的是匿名section
option 指的是一个选项 ,name指的是选项的名称, value指的是选项的值
list collection定义一个列表,可以有多个值。collection为列表名。
“first item”和”second item”为collection的值。
值得注意的是:对于每一个名称值(这里的name和collection),在同一个section内,它要么是option要么是list。也就是同一个名字只能是option或list中的一种,不能既是option又是list。也就是option和list的名称不能重名。
option name ‘value’中 同一个section下,同名的name只有一个value值。
list collection中,同一个collection可以有多个值,比如这里的first item,与second item。
一般通过 section名字访问section对其进行操作
----------------------------------------------------------------------------------------------------------------------
添加一个名为section名并指名其类型名的section
uci set 配置文件名.section名=类型名
比如(配置文件名为1):uci set 1.SectionName=SetionType
配置文件变为:config SetionType 'SectionName'
修改一个section的类型值
uci set 配置文件名.section名=需要修改的类型值
比如:uci set 1.SectionName=SetionType2
配置文件变为:config SetionType2 'SectionName'
修改时如果没有此section名会添加一个section
删除指定section
uci delete 配置文件名.section名
----------------------------------------------------------------------------------------------------------------------
在指定section下添加option,并指定其option名称与值
uci set 配置文件名.section名.option名=option值 //section的类型名没有在命令中使用
删除指定option
uci delete 配置文件名.section名.option名=option值 //section的类型名没有在命令中使用uci delete 配置文件名.section名.option名 //section的类型名没有在命令中使用
设置(修改)指定option的值
uci set 配置文件名.section名.option名=option值 //section的类型名没有在命令中使用
如果没有此option会创建
----------------------------------------------------------------------------------------------------------------------
增加list(list 允许同名同值的,比如有两个完全一样的list option value)
uci add_list 配置文件名.section名.list的option名=list的option值
删除list
uci del_list 配置文件名.section名.list的option名=list 的option值。
----------------------------------------------------------------------------------------------------------------------
获取option的值
uci get 文件名.section名.option名
显示值配置文件的值
uci show 显示该目录下的所有配置值
uci show 文件名 显示指定 文件名 文件的配置值
uci show 文件名.section名 显示指定section名下的配置值
uci show 文件名.section名.option名 显示指定option的值
进入UCI终端
uci batch
(进入UCI终端,并且输入时无需在行首输入uci三个关键字,只处理uci命令)
-------------------------------------------------------------------------------------------------------------------
⊙添加一个匿名section
uci add 配置文件名 section类型名
⊙使用section类型名代替section名称对section进行操作
用 @section类型的名字[0] 代替使用此类型名的第一个section。@section类型名字[1]代替使用此section类型的第二个section。由于一个类型名可以对应多个section,所以这里使用了数组的概念。
⊙给匿名section命名,或修改section的名字
uci rename 配置文件名.匿名section的类型名[0]=命的名字
⊙给option或list名命名
uci rename 配置文件名.section名字.option名字=命的名字