PLISTBUDDY(8) BSD System Manager's Manual PLISTBUDDY(8)NAME
PlistBuddy -- read and write values to plists
SYNOPSIS
PlistBuddy [-cxh] file.plist
DESCRIPTION
The PlistBuddy command is used to read and modify values inside of a plist. Unless specified by the -c switch, PlistBuddy runs in interactive
mode.
The following commands are used to manipulate plist data:
Help Prints this information.
Exit Exits the program. Changes are not saved to the file.
Save Saves the current changes to the file.
Revert Reloads the last saved version of the file.
Clear type Clears out all existing entries, and creates root of type type. See below for a list of types.
Print [entry]
Prints value of entry. If an entry is not specified, prints entire file. See below for an explanation of how entry works.
Set entry value
Sets the value at entry to value.
Add entry type [value]
Adds entry with type type and optional value value. See below for a list of types.
Copy entrySrc entryDst
Copies the entrySrc property to entryDst.
Delete entry
Deletes entry from the plist.
Merge file [entry]
Adds the contents of plist file to entry.
Import entry file
Creates or sets entry to the contents of file.
Entries consist of property key names delimited by colons. Array items are specified by a zero-based integer index. Examples:
:CFBundleShortVersionString
:CFBundleDocumentTypes:2:CFBundleTypeExtensions
Entries may be of the following types:
string
array
dict
bool
real
integer
date
data
OPTIONS -c command Execute command and exit. By default, PlistBuddy will run in interactive mode.
-x Output will be in the form of an xml plist where appropriate.
-h Print the complete help info.
EXAMPLES
Set the CFBundleIdentifier property to com.apple.plistbuddy:
Set :CFBundleIdentifier com.apple.plistbuddy
Add the CFBundleGetInfoString property to the plist:
Add :CFBundleGetInfoString string "App version 1.0.1"
Add a new item of type dict to the CFBundleDocumentTypes array:
Add :CFBundleDocumentTypes: dict
Add the new item to the beginning of the array:
Add :CFBundleDocumentTypes:0 dict
Delete the FIRST item in the array:
Delete :CFBundleDocumentTypes:0 dict
Delete the ENTIRE CFBundleDocumentTypes array:
Delete :CFBundleDocumentTypes
EXIT STATUS
PlistBuddy command returns a zero exit status if it succeeds. Non zero is returned in case of failure.
Mac OS X February 19, 2007 Mac OS X
Check Out this Related Man Page
PLIST(5) BSD File Formats Manual PLIST(5)NAME
plist -- property list format
SYNOPSIS
plist
DESCRIPTION
Property lists organize data into named values and lists of values using several Core Foundation types: CFString, CFNumber, CFBoolean,
CFDate, CFData, CFArray, and CFDictionary. These types give you the means to produce data that is meaningfully structured, transportable,
storable, and accessible, but still as efficient as possible. The property list programming interface allows you to convert hierarchically
structured combinations of these basic types to and from two formats: standard XML and an optimized, opaque binary format. This document
describes the standard XML format. The data can be saved to disk and later used to reconstruct the original Core Foundation objects. Note
that property lists should be used for data that consists primarily of strings and numbers because they are very inefficient when used with
large blocks of binary data.
PROPERTY LIST STRUCTURE AND CONTENTS
Property lists are constructed from the basic Core Foundation types CFString, CFNumber, CFBoolean, CFDate, and CFData. To build a complex
data structure out of these basic types, you put them inside a CFDictionary or CFArray. To simplify programming with property lists, any of
the property list types can also be referred to using a reference of type CFPropertyListRef.
In a CFDictionary, data is structured as key-value pairs, where each key is a string and the key's value can be a CFString, a CFNumber, a
CFBoolean, a CFDate, a CFData, a CFArray, or another CFDictionary. When using CFDictionary as a property list, all keys must be strings.
In a CFArray, data is structured as an ordered collection of objects that can be accessed by index. In a property list, a CFArray can contain
any of the basic property list types, as well as CFDictionary and other CFArray objects.
PROPERTY LIST XML TAGS
When property lists convert a collection of Core Foundation objects into an XML property list, it wraps the property list using the document
type tag <plist>. The other tags used for the Core Foundation data types are listed in the table below:
Core Foundation Types with XML Equivalents
CF type XML tag
CFString <string>
CFNumber <real> or <integer>
CFDate <date>
CFBoolean <true/> or <false/>
CFData <data>
CFArray <array>
CFDictionary <dict>
When encoding the contents of a CFDictionary, each member is encoded by placing the dictionary key in a <key> tag and immediately following
it with the corresponding value in the appropriate tag from the table above. See EXAMPLES below for an example XML data generated from a
property list.
The XML data format is documented here strictly for help in understanding property lists and as a debugging aid. These tags may change in
future releases so you shouldn't rely on them directly. You should not edit the XML data by hand unless you are very familiar with XML syntax
and the format of property lists. If you want to modify the contents of a property list saved on disk as XML data, use the Property List Edi-
tor application.
More complete documentation can be found on disk at
/Developer/Documentation/CoreFoundation/ProgrammingTopics/CFPropertyLists/CFPropertyLists.html
or online at
http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFPropertyLists/index.html
BINARY FORMAT PROPERTY LISTS
The binary property list format is opaque and does not use XML. However, binary property lists and XML property lists are generally inter-
changeable. The plutil(1) utility may be used to convert property lists between different formats. For example, to view a binary property
list in XML format on stdout:
plutil -convert xml1 -o - <file name>
EXAMPLES
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Year Of Birth</key>
<integer>1965</integer>
<key>Pets Names</key>
<array/>
<key>Picture</key>
<data>
PEKBpYGlmYFCPA==
</data>
<key>City of Birth</key>
<string>Springfield</string>
<key>Name</key>
<string>John Doe</string>
<key>Kids Names</key>
<array>
<string>John</string>
<string>Kyra</string>
</array>
</dict>
</plist>
SEE ALSO plutil(1)Mac OS X July 9, 2003 Mac OS X