最早plutil命令单单用来对Plist文件进行语法验证和格式转换,没有太多的用途。现在它除了部分功能,如显示部分不如defaults和PlistBuddy灵活外,对于Plist的写操作有了突出的改进,比defaults要简单,与PlistBuddy不相上下。
1.介绍
Plist
文件是由一对一对的“键”和“值”组成的,键(Key
)是后面值(Value
)的名称,值可能是简单的数值或字符串,也可能是复杂的数据,这在后面具体说。
2.测试环境
首先,为了方便,我们现在当前用户目录下面建立一个空目录:~/plutil_temp
,
mkdir -p ~/plutil_temp
然后在Termianl
中转到该目录为当前目录,后面的测试我们都在该目录下进行。
cd ~/plutil_temp
3.创建空Plist
文件
echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict/></plist>' > example.plist
example.plist.png
或者使用其他命令创建带有初始值的Plist文件,比如:
/usr/libexec/plistbuddy -c Set: example1.plist
虽然它会显示错误信息,但是依然可以成功创建一个空的原始Plist文件。
错误信息.png
example1.plist.png
4.在线帮助
plutil -h
在线帮助.png
5.验证Plist文件格式
plutil -lint example.plist
验证.png
如果文件格式没问题,会在stdout中显示OK
6.显示文件内容
plutil -p example.plist
显示结果如下:
image.png
请记住它的输出格式,这种格式叫做json
,其实plutil
只支持json
格式输出的。
不妨试试,用诸如cat
命令来显示我们的示例文件,它应该是XML
格式的文本文件:
image.png
上面的命令显示的就是标准的XML
文本格式的Plist
文件。
请记住两个输出的不同,最好再看一下文件的大小。
下面我们详细说plist
文件格式