{"id":13618180,"url":"https://github.com/nusr/awesome-macos-command-line-zh","last_synced_at":"2025-10-14T19:30:35.259Z","repository":{"id":40599238,"uuid":"184351505","full_name":"nusr/awesome-macos-command-line-zh","owner":"nusr","description":"用你的 macOS 终端搞事情。(Use your macOS terminal shell to do awesome things. )","archived":false,"fork":false,"pushed_at":"2019-05-15T03:26:23.000Z","size":177,"stargazers_count":328,"open_issues_count":1,"forks_count":29,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-25T05:02:09.060Z","etag":null,"topics":["awesome","awesome-list","chinese","chinese-translation","list","macos","macosx","shell","terminal"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nusr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-01T00:53:15.000Z","updated_at":"2025-09-15T20:17:48.000Z","dependencies_parsed_at":"2022-07-13T17:20:30.767Z","dependency_job_id":null,"html_url":"https://github.com/nusr/awesome-macos-command-line-zh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nusr/awesome-macos-command-line-zh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nusr%2Fawesome-macos-command-line-zh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nusr%2Fawesome-macos-command-line-zh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nusr%2Fawesome-macos-command-line-zh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nusr%2Fawesome-macos-command-line-zh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nusr","download_url":"https://codeload.github.com/nusr/awesome-macos-command-line-zh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nusr%2Fawesome-macos-command-line-zh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020650,"owners_count":26086898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","chinese","chinese-translation","list","macos","macosx","shell","terminal"],"created_at":"2024-08-01T20:01:55.789Z","updated_at":"2025-10-14T19:30:35.240Z","avatar_url":"https://github.com/nusr.png","language":null,"funding_links":[],"categories":["Others","Others (1002)"],"sub_categories":[],"readme":"[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)[![Build Status](https://travis-ci.org/nusr/awesome-macos-command-line-zh.svg?branch=master)](https://travis-ci.org/nusr/awesome-macos-command-line-zh)\n\n[awesome-macos-command-line](https://github.com/herrbischoff/awesome-macos-command-line) 收集了很多有趣的 Mac 终端命令。\n\n看了一遍后，发现帮助很大。\n\n见识了许多没有使用过的命令，加深了对 Mac 的认识。\n\n所以翻译成中文，分享给其他需要的人查看。\n\n翻译不妥的地方，欢迎提 issue 或者 pull request 。\n\n喜欢点 **star** ，关注点 **watch**，贡献点 **fork** 。\n\n为了获得更好的阅读效果，可以在线预览。[在线预览地址](https://nusr.github.io/post/awesome-macos-command-line-zh/entry/)\n\n\u003e 精心为 OS X 挑选的 shell 命令和工具。\n\u003e\n\u003e _“你无需知晓一切。仅仅在你需要的时候，找到它就行了。” (John Brunner)_\n\n中文 | [English](https://github.com/herrbischoff/awesome-macos-command-line)\n\n- [外形](#%E5%A4%96%E5%BD%A2)\n  - [透明度](#%E9%80%8F%E6%98%8E%E5%BA%A6)\n  - [桌面背景](#%E6%A1%8C%E9%9D%A2%E8%83%8C%E6%99%AF)\n- [应用](#%E5%BA%94%E7%94%A8)\n  - [App Store](#app-store)\n  - [苹果远程桌面](#%E8%8B%B9%E6%9E%9C%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2)\n  - [通讯录](#%E9%80%9A%E8%AE%AF%E5%BD%95)\n  - [Google](#google)\n  - [iTunes](#itunes)\n  - [邮件](#%E9%82%AE%E4%BB%B6)\n  - [Safari](#safari)\n  - [Sketch](#sketch)\n  - [Skim](#skim)\n  - [终端](#%E7%BB%88%E7%AB%AF)\n  - [文本编辑](#%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91)\n  - [Visual Studio Code](#visual-studio-code)\n- [备份](#%E5%A4%87%E4%BB%BD)\n  - [时间机器](#%E6%97%B6%E9%97%B4%E6%9C%BA%E5%99%A8)\n- [开发者](#%E5%BC%80%E5%8F%91%E8%80%85)\n  - [Vim](#vim)\n  - [Xcode](#xcode)\n- [程序坞](#%E7%A8%8B%E5%BA%8F%E5%9D%9E)\n- [文档](#%E6%96%87%E6%A1%A3)\n- [文件、磁盘和卷](#%E6%96%87%E4%BB%B6%E7%A3%81%E7%9B%98%E5%92%8C%E5%8D%B7)\n  - [APFS](#apfs)\n  - [磁盘映像](#%E7%A3%81%E7%9B%98%E6%98%A0%E5%83%8F)\n- [访达](#%E8%AE%BF%E8%BE%BE)\n  - [桌面](#%E6%A1%8C%E9%9D%A2)\n  - [文件和文件夹](#%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9)\n  - [布局](#%E5%B8%83%E5%B1%80)\n  - [元数据文件](#%E5%85%83%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6)\n  - [打开文件](#%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6)\n- [字体](#%E5%AD%97%E4%BD%93)\n- [函数](#%E5%87%BD%E6%95%B0)\n- [硬件](#%E7%A1%AC%E4%BB%B6)\n  - [蓝牙](#%E8%93%9D%E7%89%99)\n  - [硬盘](#%E7%A1%AC%E7%9B%98)\n  - [硬件信息](#%E7%A1%AC%E4%BB%B6%E4%BF%A1%E6%81%AF)\n  - [红外传感器](#%E7%BA%A2%E5%A4%96%E4%BC%A0%E6%84%9F%E5%99%A8)\n  - [电池管理](#%E7%94%B5%E6%B1%A0%E7%AE%A1%E7%90%86)\n- [输入设备](#%E8%BE%93%E5%85%A5%E8%AE%BE%E5%A4%87)\n  - [键盘](#%E9%94%AE%E7%9B%98)\n- [启动台](#%E5%90%AF%E5%8A%A8%E5%8F%B0)\n- [媒体](#%E5%AA%92%E4%BD%93)\n  - [音频](#%E9%9F%B3%E9%A2%91)\n  - [视频](#%E8%A7%86%E9%A2%91)\n- [网络](#%E7%BD%91%E7%BB%9C)\n  - [Bonjour](#bonjour)\n  - [DHCP](#dhcp)\n  - [DNS](#dns)\n  - [域名](#%E5%9F%9F%E5%90%8D)\n  - [网络设置](#%E7%BD%91%E7%BB%9C%E8%AE%BE%E7%BD%AE)\n  - [网络工具](#%E7%BD%91%E7%BB%9C%E5%B7%A5%E5%85%B7)\n  - [SSH](#ssh)\n  - [TCP/IP](#tcpip)\n  - [TFTP](#tftp)\n  - [Wi-Fi](#wi-fi)\n- [包管理器](#%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8)\n- [打印](#%E6%89%93%E5%8D%B0)\n- [安全](#%E5%AE%89%E5%85%A8)\n  - [应用防火墙](#%E5%BA%94%E7%94%A8%E9%98%B2%E7%81%AB%E5%A2%99)\n  - [网关](#%E7%BD%91%E5%85%B3)\n  - [密码](#%E5%AF%86%E7%A0%81)\n  - [物理访问](#%E7%89%A9%E7%90%86%E8%AE%BF%E9%97%AE)\n  - [擦除数据](#%E6%93%A6%E9%99%A4%E6%95%B0%E6%8D%AE)\n- [搜索](#%E6%90%9C%E7%B4%A2)\n  - [查找](#%E6%9F%A5%E6%89%BE)\n  - [定位](#%E5%AE%9A%E4%BD%8D)\n- [系统](#%E7%B3%BB%E7%BB%9F)\n  - [AirDrop](#airdrop)\n  - [AppleScript](#applescript)\n  - [基础](#%E5%9F%BA%E7%A1%80)\n  - [剪贴板](#%E5%89%AA%E8%B4%B4%E6%9D%BF)\n  - [文件库](#%E6%96%87%E4%BB%B6%E5%BA%93)\n  - [信息/报告](#%E4%BF%A1%E6%81%AF%E6%8A%A5%E5%91%8A)\n  - [安装系统](#%E5%AE%89%E8%A3%85%E7%B3%BB%E7%BB%9F)\n  - [内核扩展](#%E5%86%85%E6%A0%B8%E6%89%A9%E5%B1%95)\n  - [自启动服务](#%E8%87%AA%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1)\n  - [自启动服务](#%E8%87%AA%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1-1)\n  - [登录窗口](#%E7%99%BB%E5%BD%95%E7%AA%97%E5%8F%A3)\n  - [内存管理](#%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86)\n  - [通知中心](#%E9%80%9A%E7%9F%A5%E4%B8%AD%E5%BF%83)\n  - [快速浏览](#%E5%BF%AB%E9%80%9F%E6%B5%8F%E8%A7%88)\n  - [远程苹果事件](#%E8%BF%9C%E7%A8%8B%E8%8B%B9%E6%9E%9C%E4%BA%8B%E4%BB%B6)\n  - [Root 用户](#root-%E7%94%A8%E6%88%B7)\n  - [安全模式启动](#%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F%E5%90%AF%E5%8A%A8)\n  - [截图](#%E6%88%AA%E5%9B%BE)\n  - [软件安装](#%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85)\n  - [软件更新](#%E8%BD%AF%E4%BB%B6%E6%9B%B4%E6%96%B0)\n  - [软件版本](#%E8%BD%AF%E4%BB%B6%E7%89%88%E6%9C%AC)\n  - [聚焦](#%E8%81%9A%E7%84%A6)\n  - [系统完整性保护](#%E7%B3%BB%E7%BB%9F%E5%AE%8C%E6%95%B4%E6%80%A7%E4%BF%9D%E6%8A%A4)\n  - [时间和日期](#%E6%97%B6%E9%97%B4%E5%92%8C%E6%97%A5%E6%9C%9F)\n- [终端](#%E7%BB%88%E7%AB%AF-1)\n  - [替代终端](#%E6%9B%BF%E4%BB%A3%E7%BB%88%E7%AB%AF)\n  - [Shells](#shells)\n  - [终端字体](#%E7%BB%88%E7%AB%AF%E5%AD%97%E4%BD%93)\n- [词汇表](#%E8%AF%8D%E6%B1%87%E8%A1%A8)\n  - [Mac OS X、OS X 以及 macOS 的版本信息](#mac-os-xos-x-%E4%BB%A5%E5%8F%8A-macos-%E7%9A%84%E7%89%88%E6%9C%AC%E4%BF%A1%E6%81%AF)\n\n## 外形\n\n### 透明度\n\n#### 菜单和窗口的透明度设置\n\n```bash\n# 减小透明度\ndefaults write com.apple.universalaccess reduceTransparency -bool true\n\n# 恢复默认透明度\ndefaults write com.apple.universalaccess reduceTransparency -bool false\n```\n\n### 桌面背景\n\n#### 设置桌面背景\n\n```bash\n# Mountain Lion 及之前的版本支持\nosascript -e 'tell application \"Finder\" to set desktop picture to POSIX file \"/path/to/picture.jpg\"'\n\n# 从 Mavericks 开始支持\nsqlite3 ~/Library/Application\\ Support/Dock/desktoppicture.db \"update data set value = '/path/to/picture.jpg'\" \u0026\u0026 killall Dock\n```\n\n## 应用\n\n### App Store\n\n#### 列出所有从 App Store 下载的应用\n\n```bash\n# 通过 find\nfind /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'\n\n# 通过 Spotlight\nmdfind kMDItemAppStoreHasReceipt=1\n```\n\n#### 显示调试菜单\n\nYosemite 版本起作用\n\n```bash\n# 开启\ndefaults write com.apple.appstore ShowDebugMenu -bool true\n\n# 关闭 (默认)\ndefaults write com.apple.appstore ShowDebugMenu -bool false\n```\n\n### 苹果远程桌面\n\n#### 唤醒手册\n\n```bash\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help\n```\n\n#### 唤醒和睡眠 ARD Agent 和 Helper\n\n```bash\n# 激活并且重启 ARD Agent 和 Helper\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -restart -agent -console\n\n# 睡眠并且停止远程管理服务\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop\n```\n\n#### 开启和关闭远程桌面共享\n\n```bash\n# 给予所有用户完全的接入权限\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all\n\n# 关闭 ARD Agent 和删除所有用户的接入权限\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off\n```\n\n#### 删除苹果远程桌面设置\n\n```bash\nsudo rm -rf /var/db/RemoteManagement ; \\\nsudo defaults delete /Library/Preferences/com.apple.RemoteDesktop.plist ; \\\ndefaults delete ~/Library/Preferences/com.apple.RemoteDesktop.plist ; \\\nsudo rm -r /Library/Application\\ Support/Apple/Remote\\ Desktop/ ; \\\nrm -r ~/Library/Application\\ Support/Remote\\ Desktop/ ; \\\nrm -r ~/Library/Containers/com.apple.RemoteDesktop\n```\n\n### 通讯录\n\n#### 调试模式\n\n```bash\n# 开启\ndefaults write com.apple.addressbook ABShowDebugMenu -bool true\n\n# 关闭 (默认)\ndefaults write com.apple.addressbook ABShowDebugMenu -bool false\n```\n\n### Google\n\n#### 卸载 Google 更新\n\n```bash\n~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --nuke\n```\n\n### iTunes\n\n#### 键盘媒体健\n\nYosemite 版本起作用。从 El Capitan 开始引入了系统完整性保护，可防止系统启动代理被卸载。\n\n```bash\n# 停止响应按键\nlaunchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist\n\n# 响应按键 (默认)\nlaunchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist\n```\n\n从 El Capitan 开始，您可以禁用 SIP 或者使用某种黑客手段，这将使任何用户都无法访问 iTunes，从而有效地阻止它自己和它的帮助者启动。 请注意，这将无法安装 iTunes ，并可能与操作系统的更新相冲突。\n\n```bash\nsudo chmod 0000 /Applications/iTunes.app\n```\n\n### 邮件\n\n#### 将附件显示为图标\n\nMac 10.14.4 测试，纯文本或其他文件会显示为图标，但是图片会直接插入。图片可以右键转换为图标，或者更换邮箱客户端解决。[issue 1](https://github.com/nusr/awesome-macos-command-line-zh/issues/1)\n\n```bash\ndefaults write com.apple.mail DisableInlineAttachmentViewing -bool yes\n```\n\n#### 清空邮件索引\n\n下面的 AppleScript 代码将关闭邮件，清空 SQLite 索引，然后重新打开 Mail。在一个没有优化的大型电子邮件数据库中，可以显着提高响应速度。\n\n```applescript\n(*\n加快邮件索引。\n代码来源: http://web.archive.org/web/20071008123746/http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/\n最初由 pmbuko 改编，Romulo 修改。Brett Terpstra 在 2012 年更新，Mathias Törnblom 在 2013 更新到 V3 支持 El Capitan。Andrei Miclaus 在 2017 年更新到 V4,支持 Sierra。\n*)\n\ntell application \"Mail\" to quit\nset os_version to do shell script \"sw_vers -productVersion\"\nset mail_version to \"V2\"\nconsidering numeric strings\n    if \"10.10\" \u003c= os_version then set mail_version to \"V3\"\n    if \"10.12\" \u003c= os_version then set mail_version to \"V4\"\n    if \"10.13\" \u003c= os_version then set mail_version to \"V5\"\n    if \"10.14\" \u003c= os_version then set mail_version to \"V6\"\nend considering\n\nset sizeBefore to do shell script \"ls -lnah ~/Library/Mail/\" \u0026 mail_version \u0026 \"/MailData | grep -E 'Envelope Index$' | awk {'print $5'}\"\ndo shell script \"/usr/bin/sqlite3 ~/Library/Mail/\" \u0026 mail_version \u0026 \"/MailData/Envelope\\\\ Index vacuum\"\n\nset sizeAfter to do shell script \"ls -lnah ~/Library/Mail/\" \u0026 mail_version \u0026 \"/MailData | grep -E 'Envelope Index$' | awk {'print $5'}\"\n\ndisplay dialog (\"Mail index before: \" \u0026 sizeBefore \u0026 return \u0026 \"Mail index after: \" \u0026 sizeAfter \u0026 return \u0026 return \u0026 \"Enjoy the new speed!\")\n\ntell application \"Mail\" to activate\n```\n\n### Safari\n\n#### 改变默认字体\n\n```bash\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14\n```\n\n#### 开启开发者菜单以及网络检查\n\n```bash\ndefaults write com.apple.Safari IncludeInternalDebugMenu -bool true \u0026\u0026 \\\ndefaults write com.apple.Safari IncludeDevelopMenu -bool true \u0026\u0026 \\\ndefaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true \u0026\u0026 \\\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true \u0026\u0026 \\\ndefaults write -g WebKitDeveloperExtras -bool true\n```\n\n#### 获取当前网页数据\n\n其他选项: `get source`, `get text`.\n\n```bash\nosascript -e 'tell application \"Safari\" to get URL of current tab of front window'\n```\n\n#### 使用 Backspace/Delete 返回上一页\n\n```bash\n# 开启\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool YES\n\n# 关闭\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool NO\n```\n\n### Sketch\n\n#### 导出压缩 SVG\n\n```bash\ndefaults write com.bohemiancoding.sketch3 exportCompactSVG -bool yes\n```\n\n### Skim\n\n#### 关闭自动加载弹窗\n\n去掉弹窗并设置默认自动加载\n\n```bash\ndefaults write -app Skim SKAutoReloadFileUpdate -boolean true\n```\n\n### 终端\n\n#### 焦点跟随鼠标\n\n```bash\n# 开启\ndefaults write com.apple.Terminal FocusFollowsMouse -string YES\n\n# 关闭\ndefaults write com.apple.Terminal FocusFollowsMouse -string NO\n```\n\n### 文本编辑\n\n#### 将文本编辑设置为纯文本的默认打开方式\n\n```bash\ndefaults write com.apple.TextEdit RichText -int 0\n```\n\n### Visual Studio Code\n\n#### 解决 VSCode Vim 按键重复\n\n```bash\ndefaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false\n```\n\n## 备份\n\n### 时间机器\n\n#### 改变备份间隔\n\n备份间隔改为 30 分钟，单位是秒。\n\n```bash\nsudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800\n```\n\n#### 本地备份\n\n本地备份时，时间机器备份卷不可用。\n\n```bash\n# 查看状态\ndefaults read /Library/Preferences/com.apple.TimeMachine MobileBackups\n\n# 开启 (默认)\nsudo tmutil enablelocal\n\n# 关闭\nsudo tmutil disablelocal\n```\n\n从 High Sierra 开始，你无法禁用本地快照。 时间机器始终会创建本地 APFS 快照，并使用该快照作为创建常规备份的数据源，而不是使用活动磁盘作为数据源，就像 HFS 格式化磁盘一样。\n\n#### 防止时间机器提示将新的硬盘启动器作为本分卷\n\n```bash\nsudo defaults write /Library/Preferences/com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true\n```\n\n#### 显示时间机器的日志\n\n这个脚本将输出过去 12 个小时时间机器的备份活动。\n\n```bash\n#!/bin/sh\n\nfilter='processImagePath contains \"backupd\" and subsystem beginswith \"com.apple.TimeMachine\"'\n\n# show the last 12 hours\nstart=\"$(date -j -v-12H +'%Y-%m-%d %H:%M:%S')\"\n\necho \"\"\necho \"[History (from $start)]\"\necho \"\"\n\nlog show --style syslog --info --start \"$start\" --predicate \"$filter\"\n\necho \"\"\necho \"[Following]\"\necho \"\"\n\nlog stream --style syslog --info --predicate \"$filter\"\n```\n\n#### 充电时切换备份\n\n```bash\n# 查看状态\nsudo defaults read /Library/Preferences/com.apple.TimeMachine RequiresACPower\n\n# 开启 (默认)\nsudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool true\n\n# 关闭\nsudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool false\n```\n\n#### 验证备份\n\n从 OS X 10.11 开始，时间机器记录文件校验和，并且复制到快照。 对于早期版本的 OS X，校验和不会复制到快照。\n\n```bash\nsudo tmutil verifychecksums /path/to/backup\n```\n\n## 开发者\n\n### Vim\n\n#### 编译 Sane Vim\n\n通过 Homebrew 编译出完整 Mac Vim，包括覆盖系统的 Vim。\n\n```bash\nbrew install macvim --HEAD --with-cscope --with-lua --with-override-system-vim --with-luajit --with-python\n```\n\n#### Neovim\n\n通过 Homebrew 安装现代化的 Vim 替代品。\n\n```bash\nbrew install neovim\n```\n\n### Xcode\n\n#### 安装没有命令行工具的 Xcode\n\n```bash\nxcode-select --install\n```\n\n#### 删除所有不可用的模拟器\n\n```bash\nxcrun simctl delete unavailable\n```\n\n## 程序坞\n\n#### 将最近使用的程序添加到程序坞\n\n```bash\ndefaults write com.apple.dock persistent-others -array-add '{ \"tile-data\" = { \"list-type\" = 1; }; \"tile-type\" = \"recents-tile\"; }' \u0026\u0026 \\\nkillall Dock\n```\n\n#### 添加间隔符的无名文件夹\n\n```bash\ndefaults write com.apple.dock persistent-others -array-add '{ \"tile-data\" = {}; \"tile-type\"=\"small-spacer-tile\"; }' \u0026\u0026 \\\nkillall Dock\n```\n\n#### 添加空格\n\n```bash\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"spacer-tile\";}' \u0026\u0026 \\\nkillall Dock\n```\n\n#### 添加小空格\n\n```bash\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"small-spacer-tile\";}' \u0026\u0026 \\\nkillall Dock\n```\n\n#### 根据用户最近的使用自动重排\n\n```bash\n# 开启 (默认)\ndefaults write com.apple.dock mru-spaces -bool true \u0026\u0026 \\\nkillall Dock\n\n# 关闭\ndefaults write com.apple.dock mru-spaces -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### 图标弹跳\n\n全局设置当唤醒应用时，是否弹跳图标。\n\n```bash\n# 开启 (默认)\ndefaults write com.apple.dock no-bouncing -bool true \u0026\u0026 \\\nkillall Dock\n\n# 关闭\ndefaults write com.apple.dock no-bouncing -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### 锁住程序坞大小\n\n```bash\n# 开启\ndefaults write com.apple.Dock size-immutable -bool yes \u0026\u0026 \\\nkillall Dock\n\n# 关闭 (默认)\ndefaults write com.apple.Dock size-immutable -bool no \u0026\u0026 \\\nkillall Dock\n```\n\n#### 重置程序坞\n\n```bash\ndefaults delete com.apple.dock \u0026\u0026 \\\nkillall Dock\n```\n\n#### 改变程序坞大小\n\n完全改变程序坞主体大小。要调整大小，将 **0** 改为整数\n\n```bash\ndefaults write com.apple.dock tilesize -int 0 \u0026\u0026 \\\nkillall Dock\n```\n\n#### 滚动手势\n\n使用触摸板或鼠标滚轮与程序坞进行交互，允许您使用向上滚动手势打开应用。正在运行的程序也可以使用相同的手势调用程序窗口管理。\n\n```bash\n# 开启\ndefaults write com.apple.dock scroll-to-open -bool true \u0026\u0026 \\\nkillall Dock\n\n# 关闭 (默认)\ndefaults write com.apple.dock scroll-to-open -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### 启用自动掩藏\n\n```bash\ndefaults write com.apple.dock autohide -bool true \u0026\u0026 \\\nkillall Dock\n```\n\n#### 设置自动显示和掩藏的延迟时间\n\n浮点数定义了显示和掩藏的延迟时间(单位毫秒)。\n\n```bash\ndefaults write com.apple.dock autohide-time-modifier -float 0.4 \u0026\u0026 \\\ndefaults write com.apple.dock autohide-delay -float 0 \u0026\u0026 \\\nkillall Dock\n```\n\n#### 显示掩藏 APP 的图标\n\n```bash\n# 开启\ndefaults write com.apple.dock showhidden -bool true \u0026\u0026 \\\nkillall Dock\n\n# 关闭 (默认)\ndefaults write com.apple.dock showhidden -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### 仅显示启动的应用程序图标\n\n```bash\n# 开启\ndefaults write com.apple.dock static-only -bool true \u0026\u0026 \\\nkillall Dock\n\n# 关闭 (默认)\ndefaults write com.apple.dock static-only -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n## 文档\n\n#### 将文件转换为 HTML\n\n支持的格式有纯文本、富文本(rtf)以及微软的 Word(doc/docx)。\n\n```bash\ntextutil -convert html file.ext\n```\n\n## 文件、磁盘和卷\n\n#### 创建一个空文件\n\n创建一个 10 GB 的空文件。\n\n```bash\nmkfile 10g /path/to/file\n```\n\n#### 禁止突发动作感应\n\n当你使用的是 SSD 时，这个设置是无用的。\n\n```bash\nsudo pmset -a sms 0\n```\n\n#### 弹出所有可安装的卷\n\n唯一可以向访达发送 AppleScript 命令的方法。\n\n```bash\nosascript -e 'tell application \"Finder\" to eject (every disk whose ejectable is true)'\n```\n\n#### 修复文件权限\n\n不依赖图形化磁盘工具修复文件权限。\n\n```bash\nsudo diskutil repairPermissions /\n```\n\n\u003e 从 OS X El Capitan 开始，系统文件权限将自动受到保护。 不再需要使用磁盘工具验证或修复权限。([来源](https://support.apple.com/en-us/HT201560))\n\n#### 设置启动卷\n\n```bash\n# Up to Yosemite\nbless --mount \"/path/to/mounted/volume\" --setBoot\n\n# From El Capitan\nsudo systemsetup -setstartupdisk /System/Library/CoreServices\n```\n\n#### 示所有附加的磁盘和分区\n\n```bash\ndiskutil list\n```\n\n#### 查看文件系统的使用率\n\n连续显示文件使用信息。\n\n```bash\nsudo fs_usage\n```\n\n### APFS\n\n从 High Sierra 开启，没有中央程序，并且使用不一致，因为大多数功能都被卷入到 `tmutil`。\n\n#### 将卷从 HFS+ 转换为 APFS\n\n```bash\n/System/Library/Filesystems/apfs.fs/Contents/Resources/hfs_convert /path/to/file/system\n```\n\n#### 创建新的 APFS 文件系统\n\n```bash\n/System/Library/Filesystems/apfs.fs/Contents/Resources/newfs_apfs /path/to/device\n```\n\n#### 创建快照\n\n```bash\ntmutil localsnapshot\n```\n\n#### 删除快照\n\n```bash\ntmutil deletelocalsnapshots com.apple.TimeMachine.2018-01-26-044042\n```\n\n#### 列出所有快照\n\n```bash\ntmutil listlocalsnapshots /\n```\n\n#### 挂载快照\n\n快照是只读的。\n\n```bash\nmkdir ~/mnt\n/System/Library/Filesystems/apfs.fs/Contents/Resources/mount_apfs -s com.apple.TimeMachine.2018-01-26-044042 / ~/mnt\n```\n\n### 磁盘映像\n\n#### 从文件内容创建磁盘映像\n\n将安装的应用程序转换为二进制包。\n\n```bash\nhdiutil create -volname \"Volume Name\" -srcfolder /path/to/folder -ov diskimage.dmg\n```\n\n如果你想加密磁盘映像：\n\n```bash\nhdiutil create -encryption -stdinpass -volname \"Volume Name\" -srcfolder /path/to/folder -ov encrypted.dmg\n```\n\n打包前，你要输入密码。为了直接输入密码不弹窗：\n\n```bash\necho -n YourPassword | hdiutil create -encryption -stdinpass -volname \"Volume Name\" -srcfolder /path/to/folder -ov encrypted.dmg\n```\n\n#### 将磁盘映像刻录为 DVD\n\n这个命令可以应用在 .iso 、.img 和 .dmg 文件上。\n\n```bash\nhdiutil burn /path/to/image_file\n```\n\n#### 禁止磁盘映像验证\n\n```bash\ndefaults write com.apple.frameworks.diskimages skip-verify -bool true \u0026\u0026 \\\ndefaults write com.apple.frameworks.diskimages skip-verify-locked -bool true \u0026\u0026 \\\ndefaults write com.apple.frameworks.diskimages skip-verify-remote -bool true\n```\n\n#### 制作 OS X 启动卷\n\n```bash\nbless --folder \"/path/to/mounted/volume/System/Library/CoreServices\" --bootinfo --bootefi\n```\n\n#### 挂载磁盘映像\n\n```bash\nhdiutil attach /path/to/diskimage.dmg\n```\n\n#### 卸载磁盘映像\n\n```bash\nhdiutil detach /dev/disk2s1\n```\n\n#### 将磁盘映像写入到卷中\n\n就像磁盘工具的恢复功能。\n\n```bash\nsudo asr -restore -noverify -source /path/to/diskimage.dmg -target /Volumes/VolumeToRestoreTo\n```\n\n## 访达\n\n### 桌面\n\n#### 显示外部媒体\n\n外部的 HDs 、thumb drives 等等。\n\n```bash\n# 开启\ndefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# 关闭 (默认)\ndefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### 显示内部媒体\n\n自建的 HDs 或者 SSDs。\n\n```bash\n# 开启\ndefaults write com.apple.finder ShowHardDrivesOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# 关闭 (默认)\ndefaults write com.apple.finder ShowHardDrivesOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### 显示可移动媒体\n\nCDs 、DVDs 、iPods 等等。\n\n```bash\n# 开启\ndefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# 关闭 (默认)\ndefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### 显示网络卷\n\nAFP 、SMB、 NFS、 WebDAV 等等。\n\n```bash\n# 开启\ndefaults write com.apple.finder ShowMountedServersOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# 关闭 (默认)\ndefaults write com.apple.finder ShowMountedServersOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n### 文件和文件夹\n\n#### 清除所有访问控制列表(ACLs)\n\n```bash\nsudo chmod -RN /path/to/folder\n```\n\n#### 在访达掩藏文件夹\n\n```bash\nchflags hidden /path/to/folder/\n```\n\n#### 显示所有文件的扩展名\n\n```bash\ndefaults write -g AppleShowAllExtensions -bool true\n```\n\n#### 显示掩藏文件\n\n```bash\n# 显示所有\ndefaults write com.apple.finder AppleShowAllFiles true\n\n# 恢复文件的默认显示\ndefaults write com.apple.finder AppleShowAllFiles false\n```\n\n#### 删除保护标签\n\n```bash\nsudo chflags -R nouchg /path/to/file/or/folder\n```\n\n#### 在访达中显示全路径\n\n```bash\ndefaults write com.apple.finder _FXShowPosixPathInTitle -bool true\n```\n\n#### 取消隐藏用户文件夹\n\n```bash\nchflags nohidden ~/Library\n```\n\n#### 增加最近访问文件数量\n\n```bash\ndefaults write -g NSNavRecentPlacesLimit -int 10 \u0026\u0026 \\\nkillall Finder\n```\n\n### 布局\n\n#### 显示退出访达按钮\n\n显示 退出访达的默认快捷键是 \u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e 。\n\n```bash\n# 开启\ndefaults write com.apple.finder QuitMenuItem -bool true \u0026\u0026 \\\nkillall Finder\n\n# 关闭 (默认)\ndefaults write com.apple.finder QuitMenuItem -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### 平滑滚动\n\n对旧 Mac 会弄乱动画很有用。\n\n```bash\n# 开启\ndefaults write -g NSScrollAnimationEnabled -bool false\n\n# 关闭 (默认)\ndefaults write -g NSScrollAnimationEnabled -bool true\n```\n\n#### 橡皮筋滚动\n\n```bash\n# 禁止\ndefaults write -g NSScrollViewRubberbanding -bool false\n\n# 关闭 (默认)\ndefaults write -g NSScrollViewRubberbanding -bool true\n```\n\n#### 展开默认保存面板\n\n```bash\ndefaults write -g NSNavPanelExpandedStateForSaveMode -bool true \u0026\u0026 \\\ndefaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true\n```\n\n#### 桌面图标可见性\n\n```bash\n# 掩藏图标\ndefaults write com.apple.finder CreateDesktop -bool false \u0026\u0026 \\\nkillall Finder\n\n# 显示图标(默认)\ndefaults write com.apple.finder CreateDesktop -bool true \u0026\u0026 \\\nkillall Finder\n```\n\n#### 路径栏\n\n```bash\n# 显示\ndefaults write com.apple.finder ShowPathbar -bool true\n\n# 掩藏 (默认)\ndefaults write com.apple.finder ShowPathbar -bool false\n```\n\n#### 滚动条可见性\n\n可选的选项: `WhenScrolling` 、`Automatic` 和 `Always`。\n\n```bash\ndefaults write -g AppleShowScrollBars -string \"Always\"\n```\n\n#### 状态栏\n\n```bash\n# 显示\ndefaults write com.apple.finder ShowStatusBar -bool true\n\n# 掩藏 (默认)\ndefaults write com.apple.finder ShowStatusBar -bool false\n```\n\n#### 默认保存到磁盘\n\n设置默认保存地址是本地磁盘，而不是 iCloud 。\n\n```bash\ndefaults write -g NSDocumentSaveNewDocumentsToCloud -bool false\n```\n\n#### 当当前文件夹设置为默认搜索范围\n\n```bash\ndefaults write com.apple.finder FXDefaultSearchScope -string \"SCcf\"\n```\n\n#### 设置访达的默认文件夹\n\n```bash\ndefaults write com.apple.finder NewWindowTarget -string \"PfLo\" \u0026\u0026 \\\ndefaults write com.apple.finder NewWindowTargetPath -string \"file://${HOME}\"\n```\n\n#### 设置侧边栏图标大小\n\n将大小设置为中等大小。\n\n```bash\ndefaults write -g NSTableViewDefaultSizeMode -int 2\n```\n\n### 元数据文件\n\n#### 禁止在网络卷创建元数据文件\n\n避免创建 `.DS_Store` 以及 AppleDouble 文件。\n\n```bash\ndefaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true\n```\n\n#### 禁止在 USB 卷创建元数据文件\n\n避免创建 `.DS_Store` 以及 AppleDouble 文件。\n\n```bash\ndefaults write com.apple.desktopservices DSDontWriteUSBStores -bool true\n```\n\n### 打开文件\n\n#### 改变访达的工作文件夹\n\n如果同时打开了多个窗口，选择最上面。\n\n```bash\ncd \"$(osascript -e 'tell app \"Finder\" to POSIX path of (insertion location as alias)')\"\n```\n\n#### 打开 URL\n\n```bash\nopen https://github.com\n```\n\n#### 打开文件\n\n```bash\nopen README.md\n```\n\n#### 打开应用程序\n\n你可以加上 `-a` 打开应用程序。\n\n```bash\nopen -a \"Google Chrome\" https://github.com\n```\n\n#### 打开文件夹\n\n```bash\nopen /path/to/folder/\n```\n\n#### 打开当前文件夹\n\n```bash\nopen .\n```\n\n## 字体\n\n#### 清空当前用户字体缓存\n\n为了清除所有用户的字体缓存，在命令前加上 `sudo`。\n\n```bash\natsutil databases -removeUser \u0026\u0026 \\\natsutil server -shutdown \u0026\u0026 \\\natsutil server -ping\n```\n\n#### 获取 SF Mono 字体\n\n你需要先下载和安装 Xcode 8 beta，之后所有应用都可以使用。\n\n```bash\ncp -v /Applications/Xcode-beta.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Fonts/SFMono-* ~/Library/Fonts\n```\n\n对于 Sierra 之前的版本，它们包含 Terminal.app 中。\n\n```bash\ncp -v /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-* ~/Library/Fonts\n```\n\n## 函数\n\n请看 [这个文件](functions.md).\n\n## 硬件\n\n### 蓝牙\n\n```bash\n# 查看状态\ndefaults read /Library/Preferences/com.apple.Bluetooth ControllerPowerState\n\n# 开启 (默认)\nsudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1\n\n# 禁止\nsudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0 \u0026\u0026 \\\nsudo killall -HUP blued\n```\n\n### 硬盘\n\n#### 强制启用修剪\n\n从 Yosemite 开始,可以开启非苹果 SSD 的修剪。\n\n```bash\nforcetrim\n```\n\n### 硬件信息\n\n#### 列出所有硬件端口\n\n```bash\nnetworksetup -listallhardwareports\n```\n\n#### 剩余电池百分比\n\n```bash\npmset -g batt | egrep \"([0-9]+\\%).*\" -o --colour=auto | cut -f1 -d';'\n```\n\n#### 剩余电池时间\n\n```bash\npmset -g batt | egrep \"([0-9]+\\%).*\" -o --colour=auto | cut -f3 -d';'\n```\n\n#### 显示已连接设备的 UDID\n\n```bash\nsystem_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p'\n```\n\n#### 显示当前屏幕分辨率\n\n```bash\nsystem_profiler SPDisplaysDataType | grep Resolution\n```\n\n#### 显示 CPU 品牌信息\n\n```bash\nsysctl -n machdep.cpu.brand_string\n```\n\n### 红外传感器\n\n```bash\n# 查看状态\ndefaults read /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled\n\n# 开启 (默认)\ndefaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 1\n\n# 关闭\ndefaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 0\n```\n\n### 电池管理\n\n#### 禁止电脑休眠\n\n一小时内不使用不睡眠。\n\n```bash\ncaffeinate -u -t 3600\n```\n\n#### 显示所有电池设置\n\n```bash\nsudo pmset -g\n```\n\n#### 15 分钟无活动后显示器睡眠\n\n```bash\nsudo pmset displaysleep 15\n```\n\n#### 30 分钟无活动后显示器睡眠\n\n```bash\nsudo pmset sleep 30\n```\n\n#### 检查系统睡眠剩余时间\n\n```bash\nsudo systemsetup -getcomputersleep\n```\n\n#### 将系统睡眠剩余时间设置为 60 分钟\n\n```bash\nsudo systemsetup -setcomputersleep 60\n```\n\n#### 完全关闭系统睡眠\n\n```bash\nsudo systemsetup -setcomputersleep Never\n```\n\n#### 系统冻结时自动重启\n\n```bash\nsudo systemsetup -setrestartfreeze on\n```\n\n#### 充电时显示铃声\n\n当 MagSafe 连接时，播放 IOS 充电声音。\n\n```bash\n# 开启\ndefaults write com.apple.PowerChime ChimeOnAllHardware -bool true \u0026\u0026 \\\nopen /System/Library/CoreServices/PowerChime.app\n\n# 关闭 (默认)\ndefaults write com.apple.PowerChime ChimeOnAllHardware -bool false \u0026\u0026 \\\nkillall PowerChime\n```\n\n## 输入设备\n\n### 键盘\n\n#### 自动纠正\n\n```bash\n# 禁止\ndefaults write -g NSAutomaticSpellingCorrectionEnabled -bool false\n\n# 开启 (默认)\ndefaults write -g NSAutomaticSpellingCorrectionEnabled -bool true\n\n# 显示状态\ndefaults read -g NSAutomaticSpellingCorrectionEnabled\n```\n\n#### 全键盘访问\n\n对话框启用 Tab 。\n\n```bash\n#  仅限文本框和列表 (默认)\ndefaults write NSGlobalDomain AppleKeyboardUIMode -int 0\n\n# 所有控件\ndefaults write NSGlobalDomain AppleKeyboardUIMode -int 3\n```\n\n#### 按键重复\n\n禁止默认的 \"press and hold\" 行为。\n\n```bash\n# 开启按键重复\ndefaults write -g ApplePressAndHoldEnabled -bool false\n\n# 禁止按键重复\ndefaults write -g ApplePressAndHoldEnabled -bool true\n```\n\n#### 按键重复频率\n\n设置非常快的按键频率，根据个人品味调整。\n\n```bash\ndefaults write -g KeyRepeat -int 0.02\n```\n\n## 启动台\n\n#### 重设启动台布局\n\n你需要重启程序坞，因为启动台与它紧密相连。\n\n```bash\n# Yosemite 之前的版本\nrm ~/Library/Application\\ Support/Dock/*.db \u0026\u0026 \\\nkillall Dock\n\n# El Capitan及以上的版本\ndefaults write com.apple.dock ResetLaunchPad -bool true \u0026\u0026 \\\nkillall Dock\n```\n\n#### 删除启动台图标\n\n长按删除图标以及重设启动台布局后，仍然无法删除的图标，使用下面的命令删除。\n\n**Gitter** 是图标名称，大小写敏感。\n\n```bash\nsqlite3 $(find /private/var/folders \\( -name com.apple.dock.launchpad -a -user $USER \\) 2\u003e /dev/null)/db/db \"DELETE FROM apps WHERE title='Gitter';\" \u0026\u0026 killall Dock\n```\n\n## 媒体\n\n### 音频\n\n#### 将音频文件转换为 iPhone 铃声。\n\n```bash\nafconvert input.mp3 ringtone.m4r -f m4af\n```\n\n#### 从文本创建音频书\n\n使用 **Alex** 声音，将单纯的 UTF-8 文本文件转换为 AAC。\n\n```bash\nsay -v Alex -f file.txt -o \"output.m4a\"\n```\n\n#### 开机禁用声音\n\n```bash\nsudo nvram SystemAudioVolume=\" \"\n```\n\n#### 静音音频输出\n\n```bash\nosascript -e 'set volume output muted true'\n```\n\n#### 设置音量\n\n```bash\nosascript -e 'set volume 4'\n```\n\n#### 播放音频文件\n\n你可以播放所有 QuickTime 支持的音频格式。\n\n```bash\nafplay -q 1 filename.mp3\n```\n\n#### 使用系统默认声音讲述文本\n\n```bash\nsay 'All your base are belong to us!'\n```\n\n### 视频\n\n#### QuickTime 自动播放视频\n\n```bash\ndefaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1\n```\n\n## 网络\n\n### Bonjour\n\n#### Bonjour 服务\n\n```bash\n# 禁止\nsudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add \"-NoMulticastAdvertisements\"\n\n# 开启 (默认)\nsudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array \"/usr/sbin/mDNSResponder\" \"-launchd\"\n```\n\n### DHCP\n\n#### 更新 DHCP 租约\n\n```bash\nsudo ipconfig set en0 DHCP\n```\n\n#### 显示 DHCP 信息\n\n```bash\nipconfig getpacket en0\n```\n\n### DNS\n\n#### 清除 DNS 缓存\n\n```bash\nsudo dscacheutil -flushcache \u0026\u0026 \\\nsudo killall -HUP mDNSResponder\n```\n\n### 域名\n\n#### 设置电脑域名\n\n```bash\nsudo scutil --set ComputerName \"newhostname\" \u0026\u0026 \\\nsudo scutil --set HostName \"newhostname\" \u0026\u0026 \\\nsudo scutil --set LocalHostName \"newhostname\" \u0026\u0026 \\\nsudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string \"newhostname\"\n```\n\n### 网络设置\n\n#### 网络位置\n\n在网络设置中切换网络位置。\n\n```bash\n# 查看状态\nscselect\n\n# 切换网络位置\nscselect LocationNameFromStatus\n```\n\n#### 设置静态 IP 地址\n\n```bash\nnetworksetup -setmanual \"Ethernet\" 192.168.2.100 255.255.255.0 192.168.2.1\n```\n\n### 网络工具\n\n#### 查看网络地址是否可以访问\n\n```bash\nping -o github.com\n```\n\n#### 解决路由问题\n\n```bash\ntraceroute github.com\n```\n\n### SSH\n\n#### 将私钥密码永久添加到 SSH 代理\n\n\u003e 在 macOS Sierra 之前，ssh 会弹出输入密码的对话框，并提供是否将其存储到钥匙串的选项。 这个功能之后被删除。\n\u003e\n\u003e 在 macOS Sierra 中引入了 **UseKeychain** 选项，允许用户指定是否将密码存储在钥匙串中。 默认情况下，这个选项是开启的，这会导致所有密码都存储在钥匙串中。\n\u003e\n\u003e 这不是预期的默认行为，因此在 macOS 10.12.2 更改过来。（[来源]（https://developer.apple.com/library/archive/technotes/tn2449/_index.html））\n\n```bash\nssh-add -K /path/to/private_key\n```\n\nThen add to `~/.ssh/config`:\n\n```bash\nHost server.example.com\n    IdentityFile /path/to/private_key\n    UseKeychain yes\n```\n\n#### 远程登录\n\n```bash\n# 开启远程登录\nsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist\n\n# 关闭远程登录\nsudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist\n```\n\n### TCP/IP\n\n#### 显示使用特定端口的应用程序\n\n输出所有使用 80 端口的应用程序。\n\n```bash\nsudo lsof -i :80\n```\n\n#### 显示外部 IP 地址\n\n仅当你的 ISP 没有替换 DNS 请求(一般不会)。\n\n```bash\ndig +short myip.opendns.com @resolver1.opendns.com\n```\n\n在所有网络中都可使用的替代方法。\n\n```bash\ncurl -s https://api.ipify.org \u0026\u0026 echo\n```\n\n### TFTP\n\n#### 启动原生的 TFTP Daemon\n\n文件将从 `/private/tftpboot` 启动。\n\n```bash\nsudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist \u0026\u0026 \\\nsudo launchctl start com.apple.tftpd\n```\n\n### Wi-Fi\n\n#### 加入 Wi-Fi 网络\n\n```bash\nnetworksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD\n```\n\n#### 扫描可用的接入点\n\n创建 airport 轻松接入的符号链接。\n\n```bash\nsudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport\n```\n\n运行无线扫描：\n\n```bash\nairport -s\n```\n\n#### 显示当前的 SSID\n\n```bash\n/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'\n```\n\n#### 显示本地 IP 地址\n\n```bash\nipconfig getifaddr en0\n```\n\n#### 显示 Wi-Fi 的连接历史\n\n```bash\ndefaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7\n```\n\n#### 显示 Wi-Fi 网络密码\n\n如果你希望使用 SSID 查询密码。\n\n```bash\nsecurity find-generic-password -D \"AirPort network password\" -a \"SSID\" -gw\n```\n\n#### 开启 Wi-Fi 适配器\n\n```bash\nnetworksetup -setairportpower en0 on\n```\n\n## 包管理器\n\n- [Fink](http://www.finkproject.org) - Unix 开源软件的全部 Darwin 世界，有点过时。\n- [Homebrew](https://brew.sh) - OS X 缺少的包管理器，最流行的选择，我使用这个工具。\n- [MacPorts](https://www.macports.org) - 基于 X11 、Aqua 的开源软件，编译、安装和升级软件包命令行工具。 非常干净的工具，原作者使用它。\n\n## 打印\n\n#### 清除打印队列\n\n```bash\ncancel -a -\n```\n\n#### 默认展开打印面板\n\n```bash\ndefaults write -g PMPrintingExpandedStateForPrint -bool true \u0026\u0026 \\\ndefaults write -g PMPrintingExpandedStateForPrint2 -bool true\n```\n\n#### 打印完成后停止打印机\n\n```bash\ndefaults write com.apple.print.PrintingPrefs \"Quit When Finished\" -bool true\n```\n\n## 安全\n\n### 应用防火墙\n\n#### 防火墙服务\n\n```bash\n# 查看状态\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate\n\n# 开启\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on\n\n# 关闭 (默认)\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off\n```\n\n#### 将应用添加到防火墙\n\n```bash\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/file\n```\n\n### 网关\n\n#### 添加网关异常\n\n```bash\nspctl --add /path/to/Application.app\n```\n\n#### 删除网关异常\n\n```bash\nspctl --remove /path/to/Application.app\n```\n\n#### 管理网关\n\n```bash\n# 查看状态\nspctl --status\n\n# 开启 (默认)\nsudo spctl --master-enable\n\n# 关闭\nsudo spctl --master-disable\n```\n\n### 密码\n\n#### 产生安全的密码并且复制到剪贴板\n\n```bash\nLC_ALL=C tr -dc \"[:alnum:]\" \u003c /dev/urandom | head -c 20 | pbcopy\n```\n\n### 物理访问\n\n#### 启动屏幕保护程序\n\n```bash\n# Sierra 之前\nopen /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app\n\n# Sierra 之后\n/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine\n```\n\n#### 锁屏\n\n```bash\n/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend\n```\n\n#### 屏幕锁定\n\n```bash\n# 查看状态\ndefaults read com.apple.screensaver askForPasswordDelay\n\n# 开启 (默认)\ndefaults write com.apple.screensaver askForPasswordDelay -int 0\n\n# 禁止 (Integer = 锁屏的延迟秒数)\ndefaults write com.apple.screensaver askForPasswordDelay -int 10\n```\n\n#### 屏幕保护密码\n\n```bash\n# 查看状态\ndefaults read com.apple.screensaver askForPassword\n\n# 开启\ndefaults write com.apple.screensaver askForPassword -int 1\n\n# 关闭 (默认)\ndefaults write com.apple.screensaver askForPassword -int 0\n```\n\n### 擦除数据\n\n注意：在 MacOS 10.9 之后，**srm** 命令已经被删除了。 [Apple 支持页面]（https://support.apple.com/en-us/HT201949）解释了原因。\n\n\u003e 使用 SSD 驱动器时，磁盘工具中不提供安全擦除和擦除可用空间功能。 SSD 驱动器不需要这些选项，因为标准擦除使得难以从 SSD 恢复数据。\n\n#### 安全删除文件\n\n```bash\nsrm /path/to/file\n```\n\n#### 安全删除文件夹\n\n```bash\nsrm -r /path/to/folder/\n```\n\n#### 安全强制删除文件夹\n\n```bash\nsrm -rf /path/to/complete/destruction\n```\n\n## 搜索\n\n### 查找\n\n#### 递归删除 .DS_Store 文件\n\n```bash\nfind . -type f -name '*.DS_Store' -ls -delete\n```\n\n### 定位\n\n#### 建立定位数据库\n\n```bash\nsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist\n```\n\n#### 通过定位查询\n\n`-i`修饰符意味着搜索对大小写敏感。\n\n```bash\nlocate -i *.jpg\n```\n\n## 系统\n\n### AirDrop\n\n```bash\n# 在 Ethernet 以上版本以及不支持的 Mac 版本，开启 AirDrop\ndefaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true\n\n# 开启 (默认)\ndefaults remove com.apple.NetworkBrowser DisableAirDrop\n\n# 关闭\ndefaults write com.apple.NetworkBrowser DisableAirDrop -bool YES\n```\n\n### AppleScript\n\n#### 执行 AppleScript\n\n```bash\nosascript /path/to/script.scpt\n```\n\n### 基础\n\n#### 比较两个文件夹\n\n```bash\ndiff -qr /path/to/folder1 /path/to/folder2\n```\n\n#### 复制较大文件显示进度条\n\n确定你已经安装了 `pv`，并且使用适当的写入设备或者文件替换了 `/dev/rdisk2`。\n\n```bash\nFILE=/path/to/file.iso pv -s $(du -h $FILE | awk '/.*/ {print $1}') $FILE | sudo dd of=/dev/rdisk2 bs=1m\n```\n\n#### 修复疯狂 Shell\n\n如果你的 shell 会话疯狂。（比如某些脚本或应用程序将其变成乱码）。\n\n```bash\nstty sane\n```\n\n#### 重启\n\n```bash\nsudo reboot\n```\n\n#### 关机\n\n```bash\nsudo poweroff\n```\n\n#### 显示 OS 版本信息\n\n```bash\nsw_vers\n```\n\n#### 开机时间\n\n显示上次开机到现在过去的时间。\n\n```bash\nuptime\n```\n\n### 剪贴板\n\n#### 复制数据到剪贴板\n\n```bash\ncat whatever.txt | pbcopy\n```\n\n#### 将剪贴板数据转换为纯文本\n\n```bash\npbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy\n```\n\n#### 将剪贴板内容中的 Tab 转换为空格\n\n```bash\npbpaste | expand | pbcopy\n```\n\n#### 复制剪贴板的数据\n\n```bash\npbpaste \u003e whatever.txt\n```\n\n#### 删除剪贴板重复内容以及排序\n\n```bash\npbpaste | sort | uniq | pbcopy\n```\n\n### 文件库\n\n#### 重启自动解锁文件库\n\n如果在当前卷上启用了文件库，则会绕过初始解锁，重新启动系统。 该命令可能无法在所有版本上运行。\n\n```bash\nsudo fdesetup authrestart\n```\n\n#### 文件库服务\n\n```bash\n# 查看状态\nsudo fdesetup status\n\n# 开启\nsudo fdesetup enable\n\n# 禁止 (默认)\nsudo fdesetup disable\n```\n\n### 信息/报告\n\n#### 产生高级系统和性能报告\n\n```bash\nsudo sysdiagnose -f ~/Desktop/\n```\n\n### 安装系统\n\n#### 创建安装启动器\n\n```bash\n# Mojave\nsudo /Applications/Install\\ macOS\\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets\n\n# High Sierra\nsudo /Applications/Install\\ macOS\\ High\\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ macOS\\ High\\ Sierra.app\n\n# Sierra\nsudo /Applications/Install\\ macOS\\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ macOS\\ Sierra.app\n\n# El Capitan\nsudo /Applications/Install\\ OS\\ X\\ El\\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ OS\\ X\\ El\\ Capitan.app\n\n# Yosemite\nsudo /Applications/Install\\ OS\\ X\\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ OS\\ X\\ Yosemite.app\n```\n\n- 删除驱动器之前进行确认，删去 `--nointeraction` 选项。\n- Mojave 中才可以使用 `--downloadassets` 选项。 安装过程中可能会下载资源，比如更新。\n- 从 Mojave 开始，`--applicationpath` 选项以及被废弃。使用该选项会抛出错误。\n\n### 内核扩展\n\n#### 展示加载的内核扩展\n\n```bash\nsudo kextstat -l\n```\n\n#### 加载内核扩展\n\n```bash\nsudo kextload -b com.apple.driver.ExampleBundle\n```\n\n#### 卸载内核扩展\n\n```bash\nsudo kextunload -b com.apple.driver.ExampleBundle\n```\n\n### 自启动服务\n\n请看 [自启动服务](launchagents.md).\n\n### 自启动服务\n\n#### 重建自启动服务数据库\n\n为了做到与 OS X 版本无关，这个工具依赖 `locate` 查找 `lsregister`。 如果你还没有建立你的 `locate` 数据库，[请先创建](#创建定位数据库)。\n\n```bash\nsudo $(locate lsregister) -kill -seed -r\n```\n\n### 登录窗口\n\n#### 设置登录窗口文本\n\n```bash\nsudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText \"Your text\"\n```\n\n### 内存管理\n\n#### 清除内存缓存\n\n```bash\nsudo purge\n```\n\n#### 显示内存统计\n\n```bash\n# One time\nvm_stat\n\n# Table of data, repeat 10 times total, 1 second wait between each poll\nvm_stat -c 10 1\n```\n\n### 通知中心\n\n#### 通知中心服务\n\n```bash\n# 关闭\nlaunchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist \u0026\u0026 \\\nkillall -9 NotificationCenter\n\n# 启动 (默认)\nlaunchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist\n```\n\n### 快速浏览\n\n#### 快速浏览文件\n\n```bash\nqlmanage -p /path/to/file\n```\n\n### 远程苹果事件\n\n```bash\n# 查看状态\nsudo systemsetup -getremoteappleevents\n\n# 开启\nsudo systemsetup -setremoteappleevents on\n\n# 禁止 (默认)\nsudo systemsetup -setremoteappleevents off\n```\n\n### Root 用户\n\n```bash\n# 开启\ndsenableroot\n\n# 禁止\ndsenableroot -d\n```\n\n### 安全模式启动\n\n```bash\n# 查看状态\nnvram boot-args\n\n# 开启\nsudo nvram boot-args=\"-x\"\n\n# 禁止\nsudo nvram boot-args=\"\"\n```\n\n### 截图\n\n#### 延迟截图\n\n3 秒后截图为 JPEG 文件，并且在预览中展示。\n\n```bash\nscreencapture -T 3 -t jpg -P delayedpic.jpg\n```\n\n#### 保存截图到给定位置\n\n设置保存地址为桌面。\n\n```bash\ndefaults write com.apple.screencapture location ~/Desktop \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n#### 设置截图文件格式\n\n设置截图文件格式为 `png`，可选的格式有 `bmp`, `gif`, `jpg`, `jpeg`, `pdf`, `tiff` 。\n\n```bash\ndefaults write com.apple.screencapture type -string \"png\"\n```\n\n#### 禁止截图阴影\n\n```bash\ndefaults write com.apple.screencapture disable-shadow -bool true \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n#### 设置截图的默认文件名\n\n截图文件名的时间戳保持不变。\n\n```bash\ndefaults write com.apple.screencapture name \"Example name\" \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n### 软件安装\n\n#### 安装 PKG\n\n```bash\ninstaller -pkg /path/to/installer.pkg -target /\n```\n\n### 软件更新\n\n#### 更新所有可以更新的软件\n\n```bash\nsudo softwareupdate -ia\n```\n\n#### 设置软件更新检查的时间间隔\n\n将软件更新检查的时间间隔设置为天，而不是默认的周。\n\n```bash\ndefaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1\n```\n\n#### 显示所有可以更新的软件\n\n```bash\nsudo softwareupdate -l\n```\n\n#### 设置软件更新服务器\n\n这仅适用于测试或非托管的客户端。 要在网络范围内使用，请正确设置 DNS 以及 [Apple SUS 服务](http://krypted.com/mac-security/using-the-software-update-service-on-mountain-lion-server/) 并通过 OpenDirectory 绑定客户端。 或者，使用 [Reposado](https://github.com/wdas/reposado) 正确设置网络 DNS，使分辨率变得透明。 [Margarita](https://github.com/jessepeterson/margarita) 看起来也不错。\n\n```bash\n# 使用自己 SUS\nsudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog\n\n# 恢复苹果的默认 SUS\nsudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL\n```\n\n### 软件版本\n\n#### 显示系统的版本号\n\n```bash\nsw_vers -productVersion\n```\n\n### 聚焦\n\n#### 聚焦索引\n\n```bash\n# 禁止\nmdutil -i off -d /path/to/volume\n\n# 关闭 (默认)\nmdutil -i on /path/to/volume\n```\n\n#### 擦除聚焦索引并重建\n\n```bash\nmdutil -E /path/to/volume\n```\n\n#### 通过聚焦搜索\n\n```bash\nmdfind -name 'searchterm'\n```\n\n#### 显示聚焦索引元数据\n\n```bash\nmdls /path/to/file\n```\n\n### 系统完整性保护\n\n#### 禁止系统完整性保护\n\n按住 \u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e 重启，打开终端输入以下命令：\n\n```bash\ncsrutil disable \u0026\u0026 reboot\n```\n\n#### 开启系统完整性保护\n\n按住 \u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e 重启，打开终端输入以下命令：\n\n```bash\ncsrutil enable \u0026\u0026 reboot\n```\n\n### 时间和日期\n\n#### 列出所有时区\n\n```bash\nsudo systemsetup -listtimezones\n```\n\n#### 设置时区\n\n```bash\nsudo systemsetup -settimezone Europe/Berlin\n```\n\n#### 网络时间设置时钟\n\n```bash\n# 查看状态\nsudo systemsetup getusingnetworktime\n\n# 开启 (默认)\nsudo systemsetup setusingnetworktime on\n\n# 关闭\nsudo systemsetup setusingnetworktime off\n```\n\n## 终端\n\n#### 终端响铃\n\n开启终端响铃，并在其上显示徽标数。\n\n```bash\ntput bel\n```\n\n### 替代终端\n\n- [iTerm2](https://iterm2.com) - 更好的终端应用\n- [kitty](https://sw.kovidgoyal.net/kitty/) - 现代化以及 GPU 加速的终端应用。\n\n### Shells\n\n#### Bash\n\n安装最新版本的 Bash，并且设置为用户的默认的 shell\n\n```bash\nbrew install bash \u0026\u0026 \\\necho $(brew --prefix)/bin/bash | sudo tee -a /etc/shells \u0026\u0026 \\\nchsh -s $(brew --prefix)/bin/bash\n```\n\n- [Homepage](https://www.gnu.org/software/bash/) - OS X 以及 Unix 类似系统的默认 shell 。\n- [Bash-it](https://github.com/Bash-it/bash-it) - 社区驱动 Bash 框架，类似 Oh My Zsh\n\n#### fish\n\n安装最新版本的 fish，并且设置为用户的默认的 shell\n\n```bash\nbrew install fish \u0026\u0026 \\\necho $(brew --prefix)/bin/fish | sudo tee -a /etc/shells \u0026\u0026 \\\nchsh -s $(brew --prefix)/bin/fish\n```\n\n- [Homepage](http://fishshell.com) - 一个对 OS X 、Linux 用户友好的智能 shell,支持更多系统。\n- [The Fishshell Framework](https://github.com/oh-my-fish/oh-my-fish) - 提供核心基础结构，允许您扩展或修改 shell 外观的软件包。\n- [Installation \u0026 Configuration Tutorial](https://github.com/ellerbrock/fish-shell-setup-osx) - 怎样通过 Fisherman、Powerline Fonts、 iTerm2 和 Budspencer Theme 安装 Fish Shell。\n\n#### Zsh\n\n安装最新版本的 Zsh，并且设置为用户的默认的 shell\n\n```bash\nbrew install zsh \u0026\u0026 \\\nsudo sh -c 'echo $(brew --prefix)/bin/zsh \u003e\u003e /etc/shells' \u0026\u0026 \\\nchsh -s $(brew --prefix)/bin/zsh\n```\n\n- [Homepage](http://www.zsh.org) - 尽管 Zsh 是一种强大的脚本语言，它是专为交互式使用而设计的 shell。\n- [Oh My Zsh](http://ohmyz.sh) - 社区驱动开源框架，用于管理 Zsh 配置。\n- [Prezto](https://github.com/sorin-ionescu/prezto) - 一个快速的 Zsh 框架。 使用默认值，别名，函数，自动完成和主题来丰富命令行界面环境。\n- [zgen](https://github.com/tarjoilija/zgen) - 另一个管理 Zsh 配置的开源框架。 Zgen 可以兼容 oh-my-zsh 的插件和主题，并且具有自动克隆任何插件以及更快的优点。\n\n### 终端字体\n\n- [Anonymous Pro](http://www.marksimonson.com/fonts/view/anonymous-pro) - 四种固定宽度系列字体，适用于编程。\n- [Codeface](https://github.com/chrissimpkins/codeface) - 用于开发人员的图库和等宽字体库。\n- [DejaVu Sans Mono](https://dejavu-fonts.github.io/) - 基于 Vera Fonts 的字体家族。\n- [Hack](http://sourcefoundry.org/hack/) - Hack 手动整理字体，是你编程字体的首选。\n- [Inconsolata](http://levien.com/type/myfonts/inconsolata.html) - 一种等宽字体，专为编程设计。\n- [Input](http://input.fontbureau.com) - 专为编程响应系统的字体设计。\n- [Meslo](https://github.com/andreberg/Meslo-Font) - Apple's Menlo 字体的自制版本.\n- [Operator Mono](https://www.typography.com/fonts/operator/overview/) - 令人惊讶的商业等宽字体。\n- [Powerline Fonts](https://github.com/powerline/fonts) - Powerline 插件的修补字体仓库\n- [Source Code Pro](https://adobe-fonts.github.io/source-code-pro/) - 专为用户交互以及编程的等宽字体家族。\n\n## 词汇表\n\n### Mac OS X、OS X 以及 macOS 的版本信息\n\n| 版本                       | 名称               | 发布日期           | 最新版本                              |\n| -------------------------- | ------------------ | ------------------ | ------------------------------------- |\n| Rhapsody Developer Release | Grail1Z4 / Titan1U | August 31, 1997    | DR2 (May 14, 1998)                    |\n| Mac OS X Server 1.0        | Hera               | March 16, 1999     | 1.2v3 (October 27, 2000)              |\n| Mac OS X Developer Preview | n/a                | March 16, 1999     | DP4 (April 5, 2000)                   |\n| Mac OS X Public Beta       | Kodiak             | September 13, 2000 | n/a                                   |\n| Mac OS X 10.0              | Cheetah            | March 24, 2001     | 10.0.4 (June 22, 2001)                |\n| Mac OS X 10.1              | Puma               | September 25, 2001 | 10.1.5 (June 6, 2002)                 |\n| Mac OS X 10.2              | Jaguar             | August 24, 2002    | 10.2.8 (October 3, 2003)              |\n| Mac OS X 10.3              | Panther            | October 24, 2003   | 10.3.9 (April 15, 2005)               |\n| Mac OS X 10.4              | Tiger              | April 29, 2005     | 10.4.11 (November 14, 2007)           |\n| Mac OS X 10.5              | Leopard            | October 26, 2007   | 10.5.8 (August 5, 2009)               |\n| Mac OS X 10.6              | Snow Leopard       | August 28, 2009    | 10.6.8 v1.1 (July 25, 2011)           |\n| Mac OS X 10.7              | Lion               | July 20, 2011      | 10.7.5 (September 19, 2012)           |\n| OS X 10.8                  | Mountain Lion      | July 25, 2012      | 10.8.5 (12F45) (October 3, 2013)      |\n| OS X 10.9                  | Mavericks          | October 22, 2013   | 10.9.5 (13F1112) (September 18, 2014) |\n| OS X 10.10                 | Yosemite           | October 16, 2014   | 10.10.5 (14F27) (August 13, 2015)     |\n| OS X 10.11                 | El Capitan         | September 30, 2015 | 10.11.6 (15G31) (July 18, 2016)       |\n| macOS 10.12                | Sierra             | September 20, 2016 | 10.12.6 (16G29) (July 19, 2017)       |\n| macOS 10.13                | High Sierra        | September 25, 2017 | 10.13.6 (17G65) (July 9, 2018)        |\n| macOS 10.14                | Mojave             | September 24, 2018 | 10.14 (18A391) (September 24, 2018)   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnusr%2Fawesome-macos-command-line-zh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnusr%2Fawesome-macos-command-line-zh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnusr%2Fawesome-macos-command-line-zh/lists"}