macOS命令行编辑.plist文件有四种原生方法:一、plutil验证与格式转换;二、defaults读写用户偏好设置;三、PlistBuddy精确编辑任意plist;四、plutil转XML后配合文本编辑器人工编辑。

如果您需要在 macOS 系统中查看或修改 .plist 文件内容,但不希望依赖图形界面编辑器,则可通过命令行工具直接操作。以下是几种可靠且系统原生支持的方法:
一、使用 plutil 工具验证与格式转换
plutil(Property List Utility)是 macOS 内置的轻量级工具,主要用于验证 plist 文件语法正确性、检测格式错误,并可在 XML、binary 和 JSON 格式之间相互转换。它不直接修改键值对,但为后续安全编辑提供前提保障。
1、检查 plist 文件是否语法合法:
在终端中执行:plutil -lint /path/to/file.plist
2、将 binary 格式 plist 转换为可读的 XML 格式(便于人工核查):
执行:plutil -convert xml1 /path/to/file.plist
3、将 XML 格式 plist 转回 binary 格式(提升加载性能,系统偏好设置默认采用此格式):
执行:plutil -convert binary1 /path/to/file.plist
4、将 plist 导出为 JSON 格式以便跨平台处理:
执行:plutil -convert json /path/to/file.plist
二、使用 defaults 命令读写用户域偏好设置
defaults 工具专用于读写 macOS 用户偏好设置子系统中的 plist 文件(位于 ~/Library/Preferences/ 下),适用于 com.apple.* 及第三方应用注册的 domain。它直接作用于偏好设置数据库,无需手动定位文件路径,且修改后多数应用在重启时自动生效。
1、查看某应用全部偏好设置项:
执行:defaults read com.apple.Finder
2、仅查看指定键的当前值:
执行:defaults read com.apple.Dock autohide
3、写入新值(字符串类型):
执行:defaults write com.apple.Finder AppleShowAllFiles -bool true
4、写入整数类型值:
执行:defaults write com.apple.screencapture type -string "png"
5、删除某个键:
执行:defaults delete com.apple.dock orientation
三、使用 PlistBuddy 精确编辑任意 plist 文件
PlistBuddy 是 macOS 随附的底层命令行编辑器,可直接操作任意路径下的 plist 文件(包括系统级、应用包内、配置目录等),支持增、删、改、查任意层级的键、数组元素、字典字段,无需转换格式,适合脚本化批量处理。
1、打印整个 plist 内容:
执行:/usr/libexec/PlistBuddy -c "Print" /path/to/file.plist
2、打印指定键的值(如 CFBundleIdentifier):
执行:/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" /path/to/App.app/Contents/Info.plist
3、修改已有键的值:
执行:/usr/libexec/PlistBuddy -c "Set :CFBundleVersion 2.3.1" /path/to/file.plist
4、向数组末尾添加新元素:
执行:/usr/libexec/PlistBuddy -c "Add :NSAppTransportSecurity:NSExceptionDomains:example.com dict" /path/to/file.plist
5、删除指定键:
执行:/usr/libexec/PlistBuddy -c "Delete :NSServices" /path/to/file.plist
四、使用文本编辑器配合 plutil 转换后人工编辑
当需进行复杂结构调整(如嵌套字典重排、多层级条件判断、注释添加等),可先用 plutil 将 binary plist 转为 XML 格式,再用支持 XML 语法高亮的编辑器(如 VS Code、Sublime Text 或 Xcode)打开编辑,保存后再转回 binary 格式以确保兼容性与性能。
1、转换为 XML 并用 VS Code 打开:
执行:plutil -convert xml1 /path/to/file.plist && open -e /path/to/file.plist
2、编辑完成后,在终端中确认无语法错误:
执行:plutil -lint /path/to/file.plist
3、恢复为系统推荐的 binary 格式:
执行:plutil -convert binary1 /path/to/file.plist










