跟踪默认值 自动写入 Mac OS X 中使用的命令
目录:
如果你喜欢用终端的大量默认写入命令来调整Mac OS X,你已经知道跟踪它们是多么困难。当然,您可以查询特定命令语法的命令历史记录,并且始终可以使用 grep 查找已执行的默认命令,但是有一种更好的方法来跟踪所有这些命令,那就是保留一个自动更新的文本文件来存储所有命令的列表使用默认调整。这使得跟踪在特定 Mac 上激活或禁用了哪些默认命令变得非常容易。
本教程将向您介绍如何通过生成专门跟踪这些命令执行的文本文件来自动跟踪在Mac 上输入的每个默认写入和所有其他默认命令字符串。这对于那些经常修改默认命令并且忘记启用或禁用什么,或者只是想在 Mac 上运行所有默认更改的人来说非常有用。
这个技巧的另一个优点是它使列表与一般命令历史记录完全分开,这意味着如果命令历史记录被清除,默认列表将继续存在以供将来参考。
如何自动跟踪Mac OS上使用的所有默认命令
我们假设您熟悉终端应用程序,所以打开它开始吧。
使用您熟悉的命令行文本编辑器,我们将坚持使用nano,因为它简单且用户友好:
nano ~/.bash_profile
在.bash_profile中的新行中粘贴以下字符串
"PROMPT_COMMAND=&39;echo $(history 1 | grep defaults)>> ~/Documents/defaults.txt&39; "
注意默认列表文件的标准位置是用户主目录~/Documents/ 文件夹中名为“defaults.txt”的文件,如果需要可以随意更改。
保存文档 按Control+O 然后按Control+X 退出nano
在命令执行中第一次检测到字符串'defaults'时,将生成名为'defaults.txt'的文件。每个新的默认条目都将添加到在其自己的行上添加的数字列表中。
最好在恢复后或立即在新 Mac 上启用,这样 defaults.txt 文件将包含给定 Mac 上曾经使用过的所有默认命令的完整列表。
经过足够长的时间跟踪一些默认命令后,打开文件将如下所示:
如果你用cat查看文件,你可能会看到这样的东西:
501 cat ~/Documents/defaults.txt 502 默认读取 com.apple.Finder 503 默认写入 com.apple.dock springboard-rows -int 4 504 默认写入com.apple.dock springboard-columns -int 4;killall Dock 505 默认读取 /Library/Preferences/SystemConfiguration/com.apple.airport.preferences RememberedNetworks 506 默认写入 com.apple.systemsound com.apple.sound.uiaudio.enabled> "
如前所述,它会抓取命令语法中带有“默认值”的任何内容,包括使用 cat、tail、nano 以及 defaults.txt 文件本身的任何其他内容。此外,它不仅会跟踪使用默认写入所做的更改,还会跟踪使用默认读取命令读取默认命令或使用默认删除命令删除默认命令的任何时间。
如何将默认跟踪器限制为“默认写入”
如果您只想看到“默认写入”字符串,请在.bash_profile 中使用以下内容:
PROMPT_COMMAND=&39;echo $(history 1 | grep defaults write)>> ~/Documents/defaults-write.txt&39; "
无论您使用哪种方式,生成的文件都是通用文本文档,它也可以在 nano、vi、TextEdit、TextWrangler、BBedit、emacs 或任何首选客户端中打开。这不仅可以方便地跟踪系统管理目的,还可以轻松地与朋友和同事共享列表。
感谢迈克在我们的评论中留下这个绝妙的技巧。