1. 简介
defaults
是macOS系统中的命令行工具,用于读取、写入和删除用户偏好设置。它允许用户精细调整系统和应用程序的行为,修改在系统设置中无法直接更改的高级选项。
⚠️ 注意:谨慎使用,不要盲目复制命令,使用前了解每个命令的具体作用
2. 基本概念
2.1 域(Domain)
- 偏好设置按域组织
- 通常对应特定应用程序
- 全局域:
NSGlobalDomain
(影响所有应用程序)
2.2 键值对
- 每个域包含多个键值对
- 键:字符串
- 值:可以是字符串、数组、字典等
3. 命令语法
基本语法:
defaults [操作] [域] [键] [值]
3.1 主要操作
- 读取
# 读取所有域
defaults read
# 读取特定域
defaults read com.apple.finder
# 读取特定键
defaults read com.apple.finder AppleShowAllFiles
- 写入
# 写入字符串
defaults write com.apple.finder AppleShowAllFiles YES
# 写入数组
defaults write com.apple.dock persistent-apps -array-add '<dict/>'
# 写入字典
defaults write com.apple.finder '{ "ShowPathbar" = YES; }'
- 删除
# 删除特定键
defaults delete com.apple.finder AppleShowAllFiles
# 删除整个域
defaults delete com.apple.finder
4. 常用操作
4.1 系统界面和行为
4.1.1 Dock设置
# 加速Dock栏显示/隐藏
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.5
# 调整Dock栏图标大小
defaults write com.apple.dock tilesize -int 36
# 移除Dock栏的动画效果
defaults write com.apple.dock autohide-time-modifier -float 0
# 设置启动台图标排列
defaults write com.apple.dock springboard-columns -int 7
defaults write com.apple.dock springboard-rows -int 6
4.1.2 Finder设置
# 显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles YES
# 显示完整文件路径
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# 禁止在网络卷和U盘上生成.DS_Store文件
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool TRUE
4.1.3 桌面和文件管理
# 桌面不显示硬盘图标
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
# 桌面不显示外部硬盘
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false
# 桌面不显示可移动媒体
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false
4.2 系统性能和界面优化
4.2.1 动画和性能
# 加快窗口缩放速度
defaults write -g NSWindowResizeTime -float 0.001
# 禁用应用程序打开动画
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
# 加快Mission Control动画
defaults write com.apple.dock expose-animation-duration -float 0.1
# 加快菜单栏和窗口显示速度
defaults write NSGlobalDomain MenuPauseTime -float 0.5
4.3 截图和文件操作
4.3.1 截图设置
# 更改截图保存位置
defaults write com.apple.screencapture location ~/Desktop
# 更改截图文件名
defaults write com.apple.screencapture name "MyScreenshot"
# 截图格式改为jpg
defaults write com.apple.screencapture type jpg
# 禁用截图阴影效果
defaults write com.apple.screencapture disable-shadow -bool true
4.4 文本和应用程序设置
4.4.1 文本编辑
# 默认以纯文本打开文件
defaults write com.apple.TextEdit RichText -int 0
# 自动保存间隔(以秒为单位)
defaults write com.apple.TextEdit AutosaveInterval -int 10
4.4.2 Safari浏览器
# 显示完整网址
defaults write com.apple.Safari ShowFullURLInSmartSearchField -bool true
# 启用开发者菜单
defaults write com.apple.Safari IncludeDevelopMenu -bool true
4.5 其他系统设置
4.5.1 电池和电源
# 显示电池百分比
defaults write com.apple.menuextra.battery ShowPercent -string "YES"
# 在关闭盖子时不进入睡眠(仅限外接电源)
defaults write com.apple.caffeinate.user DisableSleepOnLidClose -bool YES
4.5.2 日期和时间
# 24小时制
defaults write NSGlobalDomain AppleTimeMachineUseLocalVolumes -bool true
4.5.3 其他系统功能
# 在QuickLook中选择文本
defaults write com.apple.finder QLEnableTextSelection -bool true
# 显示剪贴板历史记录
defaults write com.apple.dock show-recents -bool true
5. 实用技巧
5.1 查看信息
# 列出所有域
defaults domains
# 搜索特定设置
defaults find 关键词
5.2 导出和导入设置
# 导出设置
defaults export com.apple.finder finder_backup.plist
# 导入设置
defaults import com.apple.finder finder_backup.plist
5.3 立即生效
# 重启Finder
killall Finder
# 重启Dock
killall Dock
6. 安全建议
- 修改设置前先备份
- 谨慎操作系统关键设置
- 仅在了解命令含义时执行
- 部分设置可能需要重新登录或重启
6.1 恢复方法
- 使用
defaults delete
删除特定设置 - 重置特定应用设置
- 从备份文件恢复
7. 附录
7.1 常用应用域
应用域 | 说明 |
---|---|
com.apple.finder |
访达 |
com.apple.dock |
程序坞 |
com.apple.screencapture |
屏幕截图 |
NSGlobalDomain |
全局设置 |
com.apple.Safari |
Safari浏览器 |
7.2 值类型
-string
:字符串-int
:整数-float
:浮点数-bool
:布尔值-array
:数组-dict
:字典