[技巧] 查看在终端里使用过的所有 Defaults 命令

Posted on 2012 年 02 月 01 日 by Chris K.

Defaults 历史

在终端里使用 defaults 命令常常可以用来对系统进行一些个性化的修改,不过随着修改的位置逐渐增多,可能会忘掉曾经修改过哪些部分。这时“history”命令就可以帮忙了,它会列出曾使用过的所有 defaults write 命令以及 defaults delete 命令。

第一步当然是启动终端(应用程序 – 实用工具 – 终端.app)。

查看所有执行过的 defaults 命令

查看所有执行过的 defaults write、defaults read 和 defaults delete 命令:

history |grep “defaults”

执行后会返回类似下边的结果:

47 sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
48 sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo IPaddress
98 defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
206 defaults write com.apple.Safari IncludeInternalDebugMenu 1
237 defaults write com.apple.dock itunes-notifications -bool TRUE;killall Dock
238 defaults delete com.apple.dock itunes-notifications
239 defaults write com.apple.dock desktop-picture-show-debug-text -bool TRUE;
241 defaults delete com.apple.dock desktop-picture-show-debug-text;killall Dock

只查看执行过的 defaults write 命令

只需要把命令稍微修改一下,变成这样:

history |grep “defaults write”

返回的结果和上边的类似,不过不会显示 defaults read 和 defaults delete 命令。

只查看执行过的 defaults delete 命令

同样的,把上边命令里的 write 改成 delete 就可以了:

history |grep “defaults delete”

查看和某个应用有关的所有 defaults 命令

只修对 grep 部分的内容进行修改,填入应用或进程的名称,就可以查看与这个应用有关的所有 defaults 命令了。打个比方,要查看所有跟 Finder 有关的 defaults 命令,可以这样做:

history |grep “defaults write com.apple.finder”

大部分应用都可以通过这种方式来填写应用名称,至少 Mac OS X 的自带应用都使用“com.apple.应用名称”这种格式。

这样,即使使用了大量 defaults 命令修改系统设置,也可以在出现问题时通过命令的历史记录排除故障。

via OSXDaily