1,配置文件的一些解释
config <section-type> <section-name>
config:
表示一个段的配置的开始
<section-type>:
表示一个段的type类型,如:interface,timeserver,其中该类型在配置文件中可允许配置同名的多个
<section-name>:
该字段如果不出现,则我们设置的段就是匿名的,比如:cfg08cb2什么的,该值由系统分配。
注意:
① 在一个配置文件中,<section-type> 可以出现多个一样的,但是<section-type>一旦一样,那么每一个段的 <section-name>不能一样,如果一样则会出现数据覆盖。
② 我们在shell下执行的uci命令不会立即写入文件,使用的uci命令的记录在/tmp/.uci/目录下,执行uci commit时将写入文件(uci export test 查看文件内容)
2,uci 命令的使用
① 添加一个段名(home),并为它命名
uci add htest home
uci rename htest.@home[0]=phone
② option 字段的增删改查(以命名的端为示例)
//增加或修改一个名字为size的option的数据
uci set htest.phone.size=512
uci set htest.phone.size=1024
//查询size
uci get htest.phone.size
//删除size
uci delete htest.phone.size
③ list 增删改查(以命名的端为示例)
注意:
1,同一个section内,list的名称必须唯一,不能与option名称重复
2,值中包含空格或'.'时必须使用引号,如: list dns '8.8.8.8'
//增加
uci add_list htest.phone.color=red
uci add_list htest.phone.color=white
uci add_list htest.phone.color=blue
//删除
uci del_list htest.vivo.color=green
修改需要先删除在添加
④ 匿名字段的使用:
uci add htest phone
//option
uci set htest.@phone[0].name=good
uci set htest.@phone[0].name=goods
uci delete htest.@phone[0].name
uci set htest.@phone[0].name=goods
//list
uci add_list htest.@phone[0].size=128
uci add_list htest.@phone[0].size=256
uci add_list htest.@phone[0].size=512
注:删除option时不用带=号,删除list时,需要=,这个是一点区别,但也好理解,相信你能看懂!
3,总结
再次对uci指令修改配置文件的一些方法的使用,便于熟悉uci接口,和libuci库的调用