{"id":14112639,"url":"https://github.com/iamdanre/awesome-macos-command-line","last_synced_at":"2025-08-01T15:30:52.215Z","repository":{"id":44742152,"uuid":"512978099","full_name":"iamdanre/awesome-macos-command-line","owner":"iamdanre","description":"macOS-CLI","archived":false,"fork":false,"pushed_at":"2022-08-02T15:36:58.000Z","size":34,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-18T13:42:49.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamdanre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-12T02:54:34.000Z","updated_at":"2023-11-06T21:59:05.000Z","dependencies_parsed_at":"2022-08-23T00:20:20.389Z","dependency_job_id":null,"html_url":"https://github.com/iamdanre/awesome-macos-command-line","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamdanre%2Fawesome-macos-command-line","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamdanre%2Fawesome-macos-command-line/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamdanre%2Fawesome-macos-command-line/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamdanre%2Fawesome-macos-command-line/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamdanre","download_url":"https://codeload.github.com/iamdanre/awesome-macos-command-line/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228389072,"owners_count":17912184,"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","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":[],"created_at":"2024-08-14T10:03:51.433Z","updated_at":"2024-12-05T23:31:24.257Z","avatar_url":"https://github.com/iamdanre.png","language":null,"funding_links":[],"categories":["Other Lists"],"sub_categories":["TeX Lists"],"readme":"\u003ch1\u003e\u003cimg src=\"https://git.herrbischoff.com/awesome-macos-command-line/plain/assets/logo.svg\" alt=\"Awesome macOS Command Line\" width=\"600\"\u003e\u003c/h1\u003e\n\n\u003e A curated list of shell commands and tools specific to macOS.\n\u003e\n\u003e _“You don’t have to know everything. You simply need to know where to find it\n\u003e when necessary.” (John Brunner)_\n\n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nIf you want to contribute, you are highly encouraged to do so. Please read the\n[contribution guidelines](contributing.md).\n\nFor more terminal shell goodness, please also see this list's sister list\n[Awesome Command Line Apps](https://git.herrbischoff.com/awesome-command-line-apps).\n\n\n## A Personal Note\n\nNot all information contained in this list is always up-to-date with the latest\nOS releases. Apple does support devices for an extended time frame but they're\nalso costly to purchase. Currently, I don't have the ability to replace my\nMid-2014 15\" MacBook Pro and it doesn't run Monterey or above. On one hand, the\nfact that this machine is still running mostly intact is a testament to its\nhardware and build quality. On the other, the fact that my older OS release\nwill very soon not receive any security updates and bug fixes is a bit\nunsettling. And well, it directly affects my ability to provide timely updates.\n\nSo maybe someone from Apple reads this and can do something about that\nsituation.\n\nFurthermore, looking at almost 26k GitHub stars for this repository, if only\nabout 14% of the people who this resource is useful for, sponsored me with a\n*one time* amount of a single Euro, I could order a new machine that probably\nlasted me another eight years. It's not something I'd expect, nor think I\nshould. It's entirely my issue. And something to think about.\n\n\n## Foreword\n\nThere's really only one thing I'd like to note here: [man\npages](https://en.wikipedia.org/wiki/Man_page). [Man\npages](https://www.cs.mcgill.ca/~guide/help/man.html). [Man\npages](https://xkcd.com/1692/). Okay, three things. But this one thing seemed\nso important, I had to mention it multiple times. If you're not doing it\nalready, you should get into the habit of consulting man pages before searching\nanywhere else. Unix-style man pages are an excellent source of documentation.\nThere's even a man page for the `man` command itself:\n\n```sh\nman man\n```\n\nIt also explains what the numbers in the man pages refer to --- like `man(1)`.\n\n\n## Contents\n\n- [Appearance](#appearance)\n    - [Dark Mode](#dark-mode)\n    - [Proxy Icon](#proxy-icon)\n    - [Subpixel Anti-Aliasing](#subpixel-anti-aliasing-font-smoothing)\n    - [Transparency](#transparency)\n    - [Wallpaper](#wallpaper)\n- [Applications](#applications)\n    - [App Store](#app-store)\n    - [Apple Remote Desktop](#apple-remote-desktop)\n    - [Contacts](#contacts)\n    - [Google](#google)\n    - [iTunes](#itunes)\n    - [Mail](#mail)\n    - [Safari](#safari)\n    - [Sketch](#sketch)\n    - [Skim](#skim)\n    - [Terminal](#terminal)\n    - [TextEdit](#textedit)\n    - [Visual Studio Code](#visual-studio-code)\n- [Backup](#backup)\n    - [Time Machine](#time-machine)\n- [Developer](#developer)\n    - [Vim](#vim)\n    - [Xcode](#xcode)\n- [Dock](#dock)\n- [Documents](#documents)\n- [Files, Disks and Volumes](#files-disks-and-volumes)\n    - [APFS](#apfs)\n    - [Disk Images](#disk-images)\n- [Finder](#finder)\n    - [Desktop](#desktop)\n    - [Files and Folders](#files-and-folders)\n    - [Layout](#layout)\n    - [Metadata Files](#metadata-files)\n    - [Opening Things](#opening-things)\n- [Fonts](#fonts)\n- [Functions](#functions)\n- [Hardware](#hardware)\n    - [Bluetooth](#bluetooth)\n    - [Harddisks](#harddisks)\n    - [Hardware Information](#hardware-information)\n    - [Infrared Receiver](#infrared-receiver)\n    - [Power Management](#power-management)\n- [Input Devices](#input-devices)\n    - [Keyboard](#keyboard)\n- [Launchpad](#launchpad)\n- [Media](#media)\n    - [Audio](#audio)\n    - [Video](#video)\n- [Networking](#networking)\n    - [Bonjour](#bonjour)\n    - [DHCP](#dhcp)\n    - [DNS](#dns)\n    - [Hostname](#hostname)\n    - [Network Preferences](#network-preferences)\n    - [Networking Tools](#networking-tools)\n    - [SSH](#ssh)\n    - [TCP/IP](#tcpip)\n    - [TFTP](#tftp)\n    - [Wi-Fi](#wi-fi)\n- [Package Managers](#package-managers)\n- [Printing](#printing)\n- [Security](#security)\n    - [Application Firewall](#application-firewall)\n    - [Gatekeeper](#gatekeeper)\n    - [Passwords](#passwords)\n    - [Physical Access](#physical-access)\n    - [Privacy Database](#privacy-database)\n    - [Wiping Data](#wiping-data)\n- [Search](#search)\n    - [Find](#find)\n    - [Locate](#locate)\n- [System](#system)\n    - [AirDrop](#airdrop)\n    - [AppleScript](#applescript)\n    - [Basics](#basics)\n    - [Clipboard](#clipboard)\n    - [Date and Time](#date-and-time)\n    - [FileVault](#filevault)\n    - [Information/Reports](#informationreports)\n    - [Installation](#installation)\n    - [Kernel Extensions](#kernel-extensions)\n    - [LaunchAgents](#launchagents)\n    - [LaunchServices](#launchservices)\n    - [Login Window](#login-window)\n    - [Memory Management](#memory-management)\n    - [Notification Center](#notification-center)\n    - [QuickLook](#quicklook)\n    - [Remote Management](#remote-management)\n    - [Root User](#root-user)\n    - [Safe Mode Boot](#safe-mode-boot)\n    - [Save Dialogs](#save-dialogs)\n    - [Screenshots](#screenshots)\n    - [Sidecar](#sidecar)\n    - [Software Installation](#software-installation)\n    - [Software Update](#software-update)\n    - [Software Version](#software-version)\n    - [Spotlight](#spotlight)\n    - [System Integrity Protection](#system-integrity-protection)\n- [Terminal](#terminal)\n    - [Alternative Terminals](#alternative-terminals)\n    - [Shells](#shells)\n    - [Terminal Fonts](#terminal-fonts)\n- [Glossary](#glossary)\n    - [Mac OS X, OS X, and macOS Version Information](#mac-os-x-os-x-and-macos-version-information)\n\n\n## Appearance\n\n### Dark Mode\n\n#### Exclude App From Dark Mode\nThis is useful for older applications that run properly but haven't been \nupdated to work properly with dark mode. Change app name `Notes` to the \nactual application you want to target.\n```sh\n# Enable\ndefaults write $(osascript -e 'id of app \"Notes\"') NSRequiresAquaSystemAppearance -bool true\n\n# Disable (Default)\ndefaults delete $(osascript -e 'id of app \"Notes\"') NSRequiresAquaSystemAppearance\n```\n\n### Proxy Icon\n\n#### Remove Proxy Icon Hover Delay\nIn macOS 11 (Big Sur), the document proxy icon was hidden by default. This \nrestores the former always-visible state.\n```sh\n# Disable\ndefaults write -g NSToolbarTitleViewRolloverDelay -float 0\n\n# Enable (Default)\ndefaults delete -g NSToolbarTitleViewRolloverDelay\n```\n\n### Subpixel Anti-Aliasing (Font Smoothing)\n\nSetting present since macOS 10.14 (Mojave).\n\n```sh\n# Enable\ndefaults write -g CGFontRenderingFontSmoothingDisabled -bool false\n\n# Disable (Default)\ndefaults write -g CGFontRenderingFontSmoothingDisabled -bool true\n\n# Per Application\ndefaults write com.apple.textedit CGFontRenderingFontSmoothingDisabled -bool false\n\n# Revert for Application\ndefaults delete com.apple.textedit CGFontRenderingFontSmoothingDisabled\n```\n\n### Transparency\n\n#### Transparency in Menu and Windows\n```sh\n# Reduce Transparency\ndefaults write com.apple.universalaccess reduceTransparency -bool true\n\n# Restore Default Transparency\ndefaults write com.apple.universalaccess reduceTransparency -bool false\n```\n\n\n### Wallpaper\n\n#### Set Wallpaper\n```sh\n# Up to OS X 10.8 (Mountain Lion)\nosascript -e 'tell application \"Finder\" to set desktop picture to POSIX file \"/path/to/picture.jpg\"'\n\n# Since OS X 10.9 (Mavericks)\nsqlite3 ~/Library/Application\\ Support/Dock/desktoppicture.db \"update data set value = '/path/to/picture.jpg'\" \u0026\u0026 killall Dock\n```\n\n\n## Applications\n\n### App Store\n\n#### List All Apps Downloaded from App Store\n\n```sh\n# Via find\nfind /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'\n\n# Via Spotlight\nmdfind kMDItemAppStoreHasReceipt=1\n```\n\n#### Show Debug Menu\nWorks up to OS X 10.10 (Yosemite).\n```sh\n# Enable\ndefaults write com.apple.appstore ShowDebugMenu -bool true\n\n# Disable (Default)\ndefaults write com.apple.appstore ShowDebugMenu -bool false\n```\n\n\n### Apple Remote Desktop\n\n#### Kickstart Manual Pages\n```sh\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help\n```\n\n#### Activate And Deactivate the ARD Agent and Helper\n```sh\n# Activate And Restart the ARD Agent and Helper\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -restart -agent -console\n\n# Deactivate and Stop the Remote Management Service\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop\n```\n\n#### Remote Desktop Sharing\n```sh\n# Allow Access for All Users and Give All Users Full Access\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all\n\n# Disable ARD Agent and Remove Access Privileges for All Users (Default)\nsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off\n```\n\n#### Remove Apple Remote Desktop Settings\n```sh\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### Contacts\n\n#### Debug Mode\n```sh\n# Enable\ndefaults write com.apple.addressbook ABShowDebugMenu -bool true\n\n# Disable (Default)\ndefaults write com.apple.addressbook ABShowDebugMenu -bool false\n```\n\n### Google\n\n#### Uninstall Google Update\n```sh\n~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --nuke\n```\n\n### iTunes\n\n#### Keyboard Media Keys\nWorks up to OS X 10.10 (Yosemite). System Integrity Protection was introduced\nin OS X 10.11 (El Capitan) which prevents system Launch Agents from being\nunloaded.\n```sh\n# Stop Responding to Key Presses\nlaunchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist\n\n# Respond to Key Presses (Default)\nlaunchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist\n```\n\nFrom OS X 10.11 (El Capitan) on, you can either disable SIP or resort to a kind\nof hack, which will make iTunes inaccessible to any user, effectively\npreventing it from starting itself or its helpers. Be aware that for all\nintents and purposes this will trash your iTunes installation and may conflict\nwith OS updates down the road.\n```sh\nsudo chmod 0000 /Applications/iTunes.app\n```\n\n### Mail\n\n#### Show Attachments as Icons\n\n```sh\ndefaults write com.apple.mail DisableInlineAttachmentViewing -bool true\n```\n\n#### Vacuum Mail Index\nThe AppleScript code below will quit Mail, vacuum the SQLite index, then\nre-open Mail. On a large email database that hasn't been optimized for a while,\nthis can provide significant improvements in responsiveness and speed.\n```applescript\n(*\nSpeed up Mail.app by vacuuming the Envelope Index\nCode from: http://web.archive.org/web/20071008123746/http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/\nOriginally by \"pmbuko\" with modifications by Romulo\nUpdated by Brett Terpstra 2012\nUpdated by Mathias Törnblom 2015 to support V3 in El Capitan and still keep backwards compatibility\nUpdated by Andrei Miclaus 2017 to support V4 in 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\"\n    if \"10.15\" \u003c= os_version then set mail_version to \"V7\"\n    if \"11\" \u003c= os_version then set mail_version to \"V8\"\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\nSince the above AppleScript mainly uses shell commands anyway, here's a shell\nscript version of the same functionality. It's usable from Big Sur onwards.\nFeel free to send a patch for newer systems. I currently don't have the money\nfor a machine capable of running macOS 12+.\n```sh\n#!/bin/zsh\n\n#\n# Speed up Mail.app by vacuuming the Envelope Index\n# Written by Marcel Bischoff\n# AppleScript original by \"pmbuko\" with modifications by Romulo\n#\n\nOS_VERSION=$(sw_vers -productVersion | cut -d. -f 1,2)\nMAIL_RUNNING=$(ps aux | grep -v grep | grep -c \"Mail\\$\")\nMAIL_VERSION=\"V2\"\n\nif [ $MAIL_RUNNING -gt 0 ]; then osascript -e 'tell application \"Mail\" to quit'; fi\n\nif [ 1 -eq \"$(echo \"11 \u003c= ${OS_VERSION}\" | bc)\" ]; then MAIL_VERSION=\"V8\"; fi\n\nSIZE_BEFORE=$(ls -lnah ~/Library/Mail/${MAIL_VERSION}/MailData | grep -E 'Envelope Index$' | awk {'print $5'})\n/usr/bin/sqlite3 ~/Library/Mail/${MAIL_VERSION}/MailData/Envelope\\ Index vacuum\nSIZE_AFTER=$(ls -lnah ~/Library/Mail/${MAIL_VERSION}/MailData | grep -E 'Envelope Index$' | awk {'print $5'})\n\nprintf \"Mail index before: %s\\nMail index after: %s\\n\" $SIZE_BEFORE $SIZE_AFTER\n```\n\n### Safari\n\n#### Change Default Fonts\n```sh\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#### Develop Menu and Web Inspector\n```sh\n# Enable\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# Disable (Default)\ndefaults delete com.apple.Safari IncludeInternalDebugMenu \u0026\u0026 \\\ndefaults delete com.apple.Safari IncludeDevelopMenu \u0026\u0026 \\\ndefaults delete com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey \u0026\u0026 \\\ndefaults delete com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled \u0026\u0026 \\\ndefaults delete -g WebKitDeveloperExtras\n```\n\n#### Get Current Page Data\nOther options: `get source`, `get text`.\n```sh\nosascript -e 'tell application \"Safari\" to get URL of current tab of front window'\n```\n\n#### Use Backspace/Delete to Go Back a Page\n```sh\n# Enable\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true\n\n# Disable (Default)\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool false\n```\n\n### Sketch\n\n#### Export Compact SVGs\n```sh\ndefaults write com.bohemiancoding.sketch3 exportCompactSVG -bool true\n```\n\n### Skim\n\n#### Turn Off Auto Reload Dialog\nRemoves the dialog and defaults to auto reload.\n```sh\ndefaults write -app Skim SKAutoReloadFileUpdate -boolean true\n```\n### Terminal\n\n#### Focus Follows Mouse\n```sh\n# Enable\ndefaults write com.apple.Terminal FocusFollowsMouse -string true\n\n# Disable (Default)\ndefaults write com.apple.Terminal FocusFollowsMouse -string false\n```\n\n### TextEdit\n\n#### Create an Untitled Document at Launch\n```sh\ndefaults write com.apple.TextEdit NSShowAppCentricOpenPanelInsteadOfUntitledFile -bool false\n```\n\n#### Use Plain Text Mode as Default\n```sh\ndefaults write com.apple.TextEdit RichText -int 0\n```\n\n### Visual Studio Code\n\n#### VSCodeVim Key Repeat\n```sh\n# Enable\ndefaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false\n\n# Disable (Default)\ndefaults delete com.microsoft.VSCode ApplePressAndHoldEnabled\n```\n\n#### Subpixel Anti-Aliasing\nSetting present since macOS 10.14 (Mojave). See also system-wide setting:\n[Subpixel Anti-Aliasing](#subpixel-anti-aliasing-font-smoothing)\n```sh\n# Enable\ndefaults write com.microsoft.VSCode CGFontRenderingFontSmoothingDisabled -bool false \u0026\u0026 \\\ndefaults write com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled -bool false \u0026\u0026 \\\ndefaults write com.microsoft.VSCode.helper.EH CGFontRenderingFontSmoothingDisabled -bool false \u0026\u0026 \\\ndefaults write com.microsoft.VSCode.helper.NP CGFontRenderingFontSmoothingDisabled -bool false\n\n# Disable (Default)\ndefaults delete com.microsoft.VSCode CGFontRenderingFontSmoothingDisabled \u0026\u0026 \\\ndefaults delete com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled \u0026\u0026 \\\ndefaults delete com.microsoft.VSCode.helper.EH CGFontRenderingFontSmoothingDisabled \u0026\u0026 \\\ndefaults delete com.microsoft.VSCode.helper.NP CGFontRenderingFontSmoothingDisabled\n```\n\n\n## Backup\n\n### Time Machine\n\n#### Activation\n```sh\n# Enable\nsudo tmutil enable\n\n# Disable\nsudo tmutil disable\n\n# Start backup immediately\ntmutil startbackup\n\n# Stop backup immediately\ntmutil stopbackup\n```\n\n#### Change Backup Interval\nThis changes the interval to 30 minutes. The integer value is the time in\nseconds.\n```sh\nsudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800\n```\n\n#### Exclude Files\n```sh\nsudo tmutil addexclusion /path/to/file/or/folder\n```\n\n#### Local Backups\nWhether Time Machine performs local backups while the Time Machine backup\nvolume is not available.\n```sh\n# Status\ndefaults read /Library/Preferences/com.apple.TimeMachine MobileBackups\n\n# Enable (Default)\nsudo tmutil enablelocal\n\n# Disable\nsudo tmutil disablelocal\n```\n\nSince macOS 10.13 (High Sierra), you cannot disable local snapshots. Time\nMachine now always creates a local APFS snapshot and uses that snapshot as the\ndata source to create a regular backup, rather than using the live disk as the\nsource, as is the case with HFS formatted disks.\n\n#### Manage Backup Volumes\n```sh\n# Info\ntmutil destinationinfo\n\n# Remove current destination\ntmutil removedestination\n\n# Set physical disk destination\ntmutil setdestination /path/to/volume/or/volume/name\n\n# Set network destination\ntmutil setdestination -p smb://10.20.30.40/share\n```\n\n#### Prevent Time Machine from Prompting to Use New Hard Drives as Backup Volume\n```sh\nsudo defaults write /Library/Preferences/com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true\n```\n\n#### Show Time Machine Logs\nThis little script will output the last 12 hours of Time Machine activity\nfollowed by live activity.\n```sh\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#### Toggle Backup While on Battery\n```sh\n# Status\nsudo defaults read /Library/Preferences/com.apple.TimeMachine RequiresACPower\n\n# Enable (Default)\nsudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool true\n\n# Disable\nsudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool false\n```\n\n#### Time Machine Statistics\n```sh\n# List all backups\ntmutil listbackups\n\n# Show differences\ntmutil calculatedrift /path/to/backup/folder/plus/machine/name/folder\n```\n\n#### Verify Backup\nBeginning in OS X 10.11, Time Machine records checksums of files copied into\nsnapshots. Checksums are not retroactively computed for files that were copied\nby earlier releases of OS X.\n```sh\nsudo tmutil verifychecksums /path/to/backup\n```\n\n## Developer\n\n### Vim\n\n#### Compile Sane Vim\nCompiling MacVim via Homebrew with all bells and whistles, including overriding\nsystem Vim.\n```sh\nbrew install macvim --HEAD\n```\n\n#### Neovim\nInstall the modern Vim drop-in alternative via Homebrew.\n```sh\nbrew install neovim\n```\n\n### Xcode\n\n#### Install Command Line Tools without Xcode\n```sh\nxcode-select --install\n```\n\n#### Remove All Unavailable Simulators\n```sh\nxcrun simctl delete unavailable\n```\n\n\n## Dock\n\n#### Add a Stack with Recent Applications\nObsolete since macOS 10.14 (Mojave). See [Show Recent Apps](#show-recent-apps).\n```sh\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#### Add a Nameless Stack Folder and Small Spacer\n```sh\ndefaults write com.apple.dock persistent-others -array-add '{ \"tile-data\" = {}; \"tile-type\"=\"small-spacer-tile\"; }' \u0026\u0026 \\\nkillall Dock\n```\n\n#### Add a Space\n```sh\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"spacer-tile\";}' \u0026\u0026 \\\nkillall Dock\n```\n\n#### Add a Small Space\n```sh\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"small-spacer-tile\";}' \u0026\u0026 \\\nkillall Dock\n```\n\n#### Auto Rearrange Spaces Based on Most Recent Use\n```sh\n# Enable (Default)\ndefaults write com.apple.dock mru-spaces -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable\ndefaults write com.apple.dock mru-spaces -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Automatically Hide\n```sh\n# Enable\ndefaults write com.apple.dock autohide -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.dock autohide -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Icon Bounce\nGlobal setting whether Dock icons should bounce when the respective application\ndemands your attention.\n```sh\n# Enable (Default)\ndefaults write com.apple.dock no-bouncing -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable\ndefaults write com.apple.dock no-bouncing -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Lock the Dock Size\n```sh\n# Enable\ndefaults write com.apple.Dock size-immutable -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.Dock size-immutable -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Reset Dock\n```sh\ndefaults delete com.apple.dock \u0026\u0026 \\\nkillall Dock\n```\n\n#### Resize\nFully resize your Dock's body. To resize change the `0` value as an integer.\n```sh\ndefaults write com.apple.dock tilesize -int 0 \u0026\u0026 \\\nkillall Dock\n```\n\n#### Scroll Gestures\nUse your touchpad or mouse scroll wheel to interact with Dock items. Allows you\nto use an upward scrolling gesture to open stacks. Using the same gesture on\napplications that are running invokes Exposé/Mission Control.\n```sh\n# Enable\ndefaults write com.apple.dock scroll-to-open -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.dock scroll-to-open -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Set Auto Show/Hide Delay\nThe float number defines the show/hide delay in ms.\n```sh\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#### Show Hidden App Icons\n```sh\n# Enable\ndefaults write com.apple.dock showhidden -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.dock showhidden -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Show Only Active Applications\n```sh\n# Enable\ndefaults write com.apple.dock static-only -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.dock static-only -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n#### Show Recent Apps\nSetting present since macOS 10.14 (Mojave).\n```sh\n# Disable\ndefaults write com.apple.dock show-recents -bool false  \u0026\u0026 \\\nkillall Dock\n\n# Enable (Default)\ndefaults write com.apple.dock show-recents -bool true \u0026\u0026 \\\nkillall Dock\n```\n\n#### Single App Mode\nWhen clicking an application icon in the Dock, the respective windows will come\nto the front, but all other application windows will be hidden.\n```sh\n# Enable\ndefaults write com.apple.dock single-app -bool true \u0026\u0026 \\\nkillall Dock\n\n# Disable (Default)\ndefaults write com.apple.dock single-app -bool false \u0026\u0026 \\\nkillall Dock\n```\n\n\n## Documents\n\n#### Convert File to HTML\nSupported formats are plain text, rich text (rtf) and Microsoft Word (doc/docx).\n```sh\ntextutil -convert html file.ext\n```\n\n\n## Files, Disks and Volumes\n\n#### Create an Empty File\nCreates an empty 10 gigabyte test file.\n```sh\nmkfile 10g /path/to/file\n```\n\n#### Disable Sudden Motion Sensor\nLeaving this turned on is useless when you're using SSDs.\n```sh\nsudo pmset -a sms 0\n```\n\n#### Eject All Mountable Volumes\nThe only reliable way to do this is by sending an AppleScript command to\nFinder.\n```sh\nosascript -e 'tell application \"Finder\" to eject (every disk whose ejectable is true)'\n```\n\n#### Repair File Permissions\nYou don't have to use the Disk Utility GUI for this.\n```sh\nsudo diskutil repairPermissions /\n```\n\u003e Beginning with OS X 10.11 (El Capitan), system file permissions are\n\u003e automatically protected. It's no longer necessary to verify or repair\n\u003e permissions with Disk Utility.\n\u003e ([Source](https://support.apple.com/en-us/HT201560))\n\n#### Set Boot Volume\n```sh\n# Up to OS X 10.10 (Yosemite)\nbless --mount \"/path/to/mounted/volume\" --setBoot\n\n# From OS X 10.11 (El Capitan)\nsudo systemsetup -setstartupdisk /System/Library/CoreServices\n```\n\n#### Show All Attached Disks and Partitions\n```sh\ndiskutil list\n```\n\n#### View File System Usage\nA continuous stream of file system access info.\n```sh\nsudo fs_usage\n```\n### APFS\n\nPresent since macOS 10.13 (High Sierra). There is no central utility and usage\nis inconsistent as most functionality is rolled into `tmutil`.\n\n#### Convert Volume from HFS+ to APFS\n```sh\n/System/Library/Filesystems/apfs.fs/Contents/Resources/hfs_convert /path/to/file/system\n```\n\n#### Create New APFS Filesystem\n```sh\n/System/Library/Filesystems/apfs.fs/Contents/Resources/newfs_apfs /path/to/device\n```\n\n#### Create Snapshot\n```sh\ntmutil localsnapshot\n```\n\n#### Delete Snapshot\n```sh\ntmutil deletelocalsnapshots com.apple.TimeMachine.2018-01-26-044042\n````\n\n#### List Snapshots\n```sh\ntmutil listlocalsnapshots /\n```\n\n#### Mount Snapshot\nSnapshots are read-only.\n```sh\nmkdir ~/mnt\n/System/Library/Filesystems/apfs.fs/Contents/Resources/mount_apfs -s com.apple.TimeMachine.2018-01-26-044042 / ~/mnt\n```\n\n### Disk Images\n\n#### Create Disk Image From Folder Contents\n```sh\nhdiutil create -volname \"Volume Name\" -srcfolder /path/to/folder -ov diskimage.dmg\n```\n\nIf you'd like to encrypt the disk image:\n```sh\nhdiutil create -encryption -stdinpass -volname \"Volume Name\" -srcfolder /path/to/folder -ov encrypted.dmg\n```\n\nBy default, you'll be prompted for a password. You can automate that by piping\nin a password:\n```sh\necho -n YourPassword | hdiutil create -encryption -stdinpass -volname \"Volume Name\" -srcfolder /path/to/folder -ov encrypted.dmg\n```\n\n#### Burn Disk Images to DVD\nThis command applies to .iso, .img and .dmg images.\n```sh\nhdiutil burn /path/to/image_file\n```\n\n#### Create Temporary High-Performance Disk\nThe disk is backed by physical RAM and will be several times faster than an\nSSD. The contents of the disk cannot be recovered after it has been ejected.\nThe example below is for a 500 MiB RAM disk, adjust as needed.\n```sh\n# Up to macOS 10.14 (Mojave)\nlet DISKSIZE=500*2048 \u0026\u0026 \\\ndiskutil erasevolume HFS+ \"RAM Disk\" `hdiutil attach -nomount ram://$DISKSIZE`\n\n# From macOS 10.15 (Catalina) on\nlet \"DISKSIZE = 500*2048\" \u0026\u0026 \\\ndiskutil erasevolume HFS+ \"RAM Disk\" `hdiutil attach -nomount ram://$DISKSIZE`\n```\n\n#### Disable Disk Image Verification\n```sh\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#### Make Volume OS X Bootable\n```sh\nbless --folder \"/path/to/mounted/volume/System/Library/CoreServices\" --bootinfo --bootefi\n```\n\n#### Mount Disk Image\n```sh\nhdiutil attach /path/to/diskimage.dmg\n```\n\n#### Unmount Disk Image\n```sh\nhdiutil detach /dev/disk2s1\n```\n\n#### Write Disk Image to Volume\nLike the Disk Utility \"Restore\" function.\n```sh\nsudo asr -restore -noverify -source /path/to/diskimage.dmg -target /Volumes/VolumeToRestoreTo\n```\n\n\n## Finder\n\n### Desktop\n\n#### Show External Media\nExternal HDs, thumb drives, etc.\n```sh\n# Enable\ndefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# Disable (Default)\ndefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### Show Internal Media\nBuilt-in HDs or SSDs.\n```sh\n# Enable\ndefaults write com.apple.finder ShowHardDrivesOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# Disable (Default)\ndefaults write com.apple.finder ShowHardDrivesOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### Show Removable Media\nCDs, DVDs, iPods, etc.\n```sh\n# Enable\ndefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# Disable (Default)\ndefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### Show Network Volumes\nAFP, SMB, NFS, WebDAV, etc.\n```sh\n# Enable\ndefaults write com.apple.finder ShowMountedServersOnDesktop -bool true \u0026\u0026 \\\nkillall Finder\n\n# Disable (Default)\ndefaults write com.apple.finder ShowMountedServersOnDesktop -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n### Files and Folders\n\n#### Clear All ACLs\n```sh\nsudo chmod -RN /path/to/folder\n```\n\n#### Increase Number of Recent Places\n```sh\ndefaults write -g NSNavRecentPlacesLimit -int 10 \u0026\u0026 \\\nkillall Finder\n```\n\n#### Show All File Extensions\n```sh\ndefaults write -g AppleShowAllExtensions -bool true\n```\n\n#### Set Protected Flag\nThis is equivalent to Finder \"Locked\" status.\n```sh\n# Disable (Default)\nsudo chflags -R nouchg /path/to/file/or/folder\n\n# Enable\nsudo chflags -R uchg /path/to/file/or/folder\n```\n\n#### Show Hidden Files\n```sh\n# Show All\ndefaults write com.apple.finder AppleShowAllFiles true\n\n# Restore Default File Visibility\ndefaults write com.apple.finder AppleShowAllFiles false\n```\n\n#### Show Full Path in Finder Title\n```sh\ndefaults write com.apple.finder _FXShowPosixPathInTitle -bool true\n```\n\n#### Toggle Folder Visibility in Finder\nBy default, the `~/Library` folder is hidden. You can easily show it again. The\nsame method works with all other folders.\n```sh\n# Hidden (Default)\nchflags hidden ~/Library\n\n# Visible\nchflags nohidden ~/Library\n```\n\n### Layout\n\n#### Show \"Quit Finder\" Menu Item\nMakes possible to see Finder menu item \"Quit Finder\" with default shortcut\n\u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e\n```sh\n# Enable\ndefaults write com.apple.finder QuitMenuItem -bool true \u0026\u0026 \\\nkillall Finder\n\n# Disable (Default)\ndefaults write com.apple.finder QuitMenuItem -bool false \u0026\u0026 \\\nkillall Finder\n```\n\n#### Smooth Scrolling\nUseful if you’re on an older Mac that messes up the animation.\n```sh\n# Disable\ndefaults write -g NSScrollAnimationEnabled -bool false\n\n# Enable (Default)\ndefaults write -g NSScrollAnimationEnabled -bool true\n```\n\n#### Rubberband Scrolling\n```sh\n# Disable\ndefaults write -g NSScrollViewRubberbanding -bool false\n\n# Enable (Default)\ndefaults write -g NSScrollViewRubberbanding -bool true\n```\n\n#### Expand Save Panel by Default\n```sh\ndefaults write -g NSNavPanelExpandedStateForSaveMode -bool true \u0026\u0026 \\\ndefaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true\n```\n\n#### Desktop Icon Visibility\n```sh\n# Hide Icons\ndefaults write com.apple.finder CreateDesktop -bool false \u0026\u0026 \\\nkillall Finder\n\n# Show Icons (Default)\ndefaults write com.apple.finder CreateDesktop -bool true \u0026\u0026 \\\nkillall Finder\n```\n\n#### Path Bar\n```sh\n# Show\ndefaults write com.apple.finder ShowPathbar -bool true\n\n# Hide (Default)\ndefaults write com.apple.finder ShowPathbar -bool false\n```\n\n#### Scrollbar Visibility\nPossible values: `WhenScrolling`, `Automatic` and `Always`.\n```sh\ndefaults write -g AppleShowScrollBars -string \"Always\"\n```\n\n#### Status Bar\n```sh\n# Show\ndefaults write com.apple.finder ShowStatusBar -bool true\n\n# Hide (Default)\ndefaults write com.apple.finder ShowStatusBar -bool false\n```\n\n#### Save to Disk by Default\nSets default save target to be a local disk, not iCloud.\n```sh\ndefaults write -g NSDocumentSaveNewDocumentsToCloud -bool false\n```\n\n#### Set Current Folder as Default Search Scope\n```sh\ndefaults write com.apple.finder FXDefaultSearchScope -string \"SCcf\"\n```\n\n#### Set Default Finder Location to Home Folder\n```sh\ndefaults write com.apple.finder NewWindowTarget -string \"PfLo\" \u0026\u0026 \\\ndefaults write com.apple.finder NewWindowTargetPath -string \"file://${HOME}\"\n```\n\n#### Set Sidebar Icon Size\nSets size to 'medium'.\n```sh\ndefaults write -g NSTableViewDefaultSizeMode -int 2\n```\n\n### Metadata Files\n\n#### Disable Creation of Metadata Files on Network Volumes\nAvoids creation of `.DS_Store` and AppleDouble files.\n```sh\ndefaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true\n```\n\n#### Disable Creation of Metadata Files on USB Volumes\nAvoids creation of `.DS_Store` and AppleDouble files.\n```sh\ndefaults write com.apple.desktopservices DSDontWriteUSBStores -bool true\n```\n\n### Opening Things\n\n#### Change Working Directory to Finder Path\nIf multiple windows are open, it chooses the top-most one.\n```sh\ncd \"$(osascript -e 'tell app \"Finder\" to POSIX path of (insertion location as alias)')\"\n```\n\n#### Open URL\n```sh\nopen https://herrbischoff.com\n```\n\n#### Open File\n```sh\nopen README.md\n```\n\n#### Open Applications\nYou can open applications using `-a`.\n```sh\nopen -a \"Google Chrome\" https://herrbischoff.com\n```\n\n#### Open Folder\n```sh\nopen /path/to/folder/\n```\n\n#### Open Current Folder\n```sh\nopen .\n```\n\n\n## Fonts\n\n#### Clear Font Cache for Current User\nTo clear font caches for all users, put `sudo` in front of these commands.\n```sh\natsutil databases -removeUser \u0026\u0026 \\\natsutil server -shutdown \u0026\u0026 \\\natsutil server -ping\n```\n\n#### Get SF Mono Fonts\nStarting in macOS 10.15 (Catalina), the Utilities apps (including Terminal.app)\nare now found in the `/System` folder.\n```sh\ncp -v /Applications/Xcode-beta.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Fonts/SFMono-* ~/Library/Fonts\n```\n\nFrom macOS 10.12 (Sierra) on, they are included in Terminal.app.\n```sh\ncp -v /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-* ~/Library/Fonts\n```\n\nIn older OS versions, you need to download and install Xcode 8 beta for this to\nwork. Afterwards they should be available in all applications.\n```sh\ncp -v /System/Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-* ~/Library/Fonts\n```\n\n## Functions\n\nPlease see [this file](functions.md).\n\n\n## Hardware\n\n### Bluetooth\n\nUp to OS X 10.12 (Sierra) the Bluetooth daemon is named `blued` instead of\n`bluetoothd`. You need to adjust the `killall` command accordingly.\n\n```sh\n# Status\ndefaults read /Library/Preferences/com.apple.Bluetooth ControllerPowerState\n\n# Enable (Default)\nsudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1\n\n# Disable\nsudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0 \u0026\u0026 \\\nsudo killall -HUP bluetoothd\n```\n\n### Harddisks\n\n#### Force Trim\nEnable Trim for non-Apple SSDs. This command is present since OS X 10.10 (Yosemite).\n```sh\ntrimforce\n```\n\n### Hardware Information\n\n#### List All Hardware Ports\n```sh\nnetworksetup -listallhardwareports\n```\n\n#### Remaining Battery Percentage\n```sh\npmset -g batt | egrep \"([0-9]+\\%).*\" -o --colour=auto | cut -f1 -d';'\n```\n\n#### Remaining Battery Time\n```sh\npmset -g batt | egrep \"([0-9]+\\%).*\" -o --colour=auto | cut -f3 -d';'\n```\n\n#### Show Connected Device's UDID\n```sh\nsystem_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p'\n```\n\n#### Show Current Screen Resolution\n```sh\nsystem_profiler SPDisplaysDataType | grep Resolution\n```\n\n#### Show CPU Brand String\n```sh\nsysctl -n machdep.cpu.brand_string\n```\n\n### Infrared Receiver\n\n```sh\n# Status\ndefaults read /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled\n\n# Enable (Default)\ndefaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 1\n\n# Disable\ndefaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 0\n```\n\n### Power Management\n\n#### Prevent System Sleep\nPrevent sleep for 1 hour:\n```sh\ncaffeinate -u -t 3600\n```\n\n#### Show All Power Management Settings\n```sh\nsudo pmset -g\n```\n\n#### Put Display to Sleep after 15 Minutes of Inactivity\n```sh\nsudo pmset displaysleep 15\n```\n\n#### Put Computer to Sleep after 30 Minutes of Inactivity\n```sh\nsudo pmset sleep 30\n```\n\n#### Check System Sleep Idle Time\n```sh\nsudo systemsetup -getcomputersleep\n```\n\n#### Set System Sleep Idle Time to 60 Minutes\n```sh\nsudo systemsetup -setcomputersleep 60\n```\n\n#### Turn Off System Sleep Completely\n```sh\nsudo systemsetup -setcomputersleep Never\n```\n\n#### Automatic Restart on System Freeze\n```sh\nsudo systemsetup -setrestartfreeze on\n```\n\n#### Chime When Charging\nPlay iOS charging sound when MagSafe is connected.\n```sh\n## Up to macOS 10.12 (Sierra)\n\n# Enable\ndefaults write com.apple.PowerChime ChimeOnAllHardware -bool true \u0026\u0026 \\\nopen /System/Library/CoreServices/PowerChime.app\n\n# Disable (Default)\ndefaults write com.apple.PowerChime ChimeOnAllHardware -bool false \u0026\u0026 \\\nkillall PowerChime\n```\n```sh\n## From macOS 10.13 (High Sierra) on\n\n# Enable (Default)\ndefaults write com.apple.PowerChime ChimeOnNoHardware -bool false \u0026\u0026 \\\nopen /System/Library/CoreServices/PowerChime.app\n\n# Disable\ndefaults write com.apple.PowerChime ChimeOnNoHardware -bool true \u0026\u0026 \\\nkillall PowerChime\n```\n\n\n## Input Devices\n\n### Keyboard\n\n#### Auto-Correct\n```sh\n# Disable\ndefaults write -g NSAutomaticSpellingCorrectionEnabled -bool false\n\n# Enable (Default)\ndefaults write -g NSAutomaticSpellingCorrectionEnabled -bool true\n\n# Show Status\ndefaults read -g NSAutomaticSpellingCorrectionEnabled\n```\n\n#### Full Keyboard Access\nEnable Tab in modal dialogs.\n```sh\n# Text boxes and lists only (Default)\ndefaults write NSGlobalDomain AppleKeyboardUIMode -int 0\n\n# All controls\ndefaults write NSGlobalDomain AppleKeyboardUIMode -int 3\n```\n\n#### Key Repeat\nChange the \"press and hold\" behavior.\n```sh\n# Enable\ndefaults write -g ApplePressAndHoldEnabled -bool false\n\n# Disable (Default)\ndefaults write -g ApplePressAndHoldEnabled -bool true\n```\n\n#### Key Repeat Rate\nSets a very fast repeat rate, adjust to taste.\n```sh\ndefaults write -g KeyRepeat -int 0.02\n```\n\n## Launchpad\n\n#### Reset Launchpad Layout\nYou need to restart `Dock` because Launchpad is tied to it.\n```sh\n# Up to OS X 10.10 (Yosemite)\nrm ~/Library/Application\\ Support/Dock/*.db \u0026\u0026 \\\nkillall Dock\n\n# From OS X 10.11 (El Capitan)\ndefaults write com.apple.dock ResetLaunchPad -bool true \u0026\u0026 \\\nkillall Dock\n```\n\n## Media\n\n### Audio\n\n#### Convert Audio File to iPhone Ringtone\n```sh\nafconvert input.mp3 ringtone.m4r -f m4af\n```\n\n#### Create Audiobook From Text\nUses \"Alex\" voice, a plain UTF-8 encoded text file for input and AAC output.\n```sh\nsay -v Alex -f file.txt -o \"output.m4a\"\n```\n\n#### Disable Sound Effects on Boot\n```sh\nsudo nvram SystemAudioVolume=\" \"\n```\n\n#### Mute Audio Output\n```sh\nosascript -e 'set volume output muted true'\n```\n\n#### Set Audio Volume\n```sh\nosascript -e 'set volume 4'\n```\n\n#### Play Audio File\nYou can play all audio formats that are natively supported by QuickTime.\n```sh\nafplay -q 1 filename.mp3\n```\n\n#### Speak Text with System Default Voice\n```sh\nsay 'All your base are belong to us!'\n```\n\n#### Startup Chime\nOlder Macs:\n```sh\n# Enable (Default)\nsudo nvram BootAudio=%01\n\n# Disable\nsudo nvram BootAudio=%00\n```\n\nFrom 2016 models on:\n```sh\n# Enable\nsudo nvram StartupMute=%00\n\n# Disable (Default)\nsudo nvram StartupMute=%01\n```\n\n### Video\n\n#### Auto-Play Videos in QuickTime Player\n```sh\ndefaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1\n```\n\n\n## Networking\n\n### Bonjour\n\n#### Bonjour Service\n```sh\n# Disable\nsudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add \"-NoMulticastAdvertisements\"\n\n# Enable (Default)\nsudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array \"/usr/sbin/mDNSResponder\" \"-launchd\"\n```\n\n### DHCP\n\n#### Renew DHCP Lease\n```sh\nsudo ipconfig set en0 DHCP\n```\n\n#### Show DHCP Info\n```sh\nipconfig getpacket en0\n```\n\n### DNS\n\n#### Clear DNS Cache\n```sh\nsudo dscacheutil -flushcache \u0026\u0026 \\\nsudo killall -HUP mDNSResponder\n```\n\n### Hostname\n\n#### Set Computer Name/Host Name\n```sh\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### Network Preferences\n\n#### Network Locations\nSwitch between network locations created in the Network preference pane.\n```sh\n# Status\nscselect\n\n# Switch Network Location\nscselect LocationNameFromStatus\n```\n\n#### Set Static IP Address\n```sh\nnetworksetup -setmanual \"Ethernet\" 192.168.2.100 255.255.255.0 192.168.2.1\n```\n\n### Networking Tools\n\n#### Ping a Host to See Whether It’s Available\n```sh\nping -o herrbischoff.com\n```\n\n#### Troubleshoot Routing Problems\n```sh\ntraceroute herrbischoff.com\n```\n\n### SSH\n\n#### Permanently Add Private Key Passphrase to SSH Agent\n\u003e Prior to macOS 10.12 (Sierra), ssh would present a dialog asking for your\n\u003e passphrase and would offer the option to store it into the keychain. This UI\n\u003e was deprecated some time ago and has been removed.\n\u003e\n\u003e Instead, a new UseKeychain option was introduced in macOS 10.12 (Sierra)\n\u003e allowing users to specify whether they would like for the passphrase to be\n\u003e stored in the keychain. This option was enabled by default on macOS 10.12\n\u003e (Sierra), which caused all passphrases to be stored in the keychain.\n\u003e\n\u003e This was not the intended default behavior, so this has been changed in macOS\n\u003e 10.12.2.\n\u003e ([Source](https://developer.apple.com/library/archive/technotes/tn2449/_index.html))\n```sh\nssh-add -K /path/to/private_key\n```\nThen add to `~/.ssh/config`:\n```sh\nHost server.example.com\n    IdentityFile /path/to/private_key\n    UseKeychain yes\n```\n\n#### Remote Login\n```sh\n# Enable\nsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist\n\n# Disable (Default)\nsudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist\n```\n\n### TCP/IP\n\n#### Show Application Using a Certain Port\nThis outputs all applications currently using port 80.\n```sh\nsudo lsof -i :80\n```\n\n#### Show External IP Address\nWorks if your ISP doesn't replace DNS requests (which it shouldn't).\n```sh\ndig +short myip.opendns.com @resolver1.opendns.com\n```\nAlternative that works on all networks.\n```sh\ncurl -s https://api.ipify.org \u0026\u0026 echo\n```\n\n#### Show Network Interface Information\nUndocumented flag of the `scutil` command.\n```sh\nscutil --nwi\n```\n\n### TFTP\n\n#### Start Native TFTP Daemon\nFiles will be served from `/private/tftpboot`.\n```sh\nsudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist \u0026\u0026 \\\nsudo launchctl start com.apple.tftpd\n```\n\n### Wi-Fi\n\n#### Join a Wi-Fi Network\n```sh\nnetworksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD\n```\n\n#### Scan Available Access Points\nCreate a symbolic link to the airport command for easy access:\n```sh\nsudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport\n```\nRun a wireless scan:\n```sh\nairport -s\n```\n\n#### Show Current SSID\n```sh\n/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'\n```\n\n#### Show Local IP Address\n```sh\nipconfig getifaddr en0\n```\n\n#### Show Wi-Fi Connection History\n```sh\ndefaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7\n```\n\n#### Show Wi-Fi Network Passwords\nExchange SSID with the SSID of the access point you wish to query the password from.\n```sh\nsecurity find-generic-password -D \"AirPort network password\" -a \"SSID\" -gw\n```\n\n#### Turn on Wi-Fi Adapter\n```sh\nnetworksetup -setairportpower en0 on\n```\n\n## Package Managers\n\n- [Fink](http://www.finkproject.org) - The full world of Unix Open Source\n  software for Darwin. A little outdated.\n- [Homebrew](https://brew.sh) - The missing package manager for OS X. The most\n  popular choice.\n- [MacPorts](https://www.macports.org) - Compile, install and upgrade either\n  command-line, X11 or Aqua based open-source software.\n\n### Homebrew\n\n#### Full Uninstall\n\n```sh\nruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)\"\n```\n\n\n## Printing\n\n#### Clear Print Queue\n```sh\ncancel -a -\n```\n\n#### Expand Print Panel by Default\n```sh\ndefaults write -g PMPrintingExpandedStateForPrint -bool true \u0026\u0026 \\\ndefaults write -g PMPrintingExpandedStateForPrint2 -bool true\n```\n\n#### Quit Printer App After Print Jobs Complete\n```sh\ndefaults write com.apple.print.PrintingPrefs \"Quit When Finished\" -bool true\n```\n\n\n## Security\n\n### Application Firewall\n\n#### Firewall Service\n```sh\n# Show Status\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate\n\n# Enable\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on\n\n# Disable (Default)\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off\n```\n\n#### Add Application to Firewall\n```sh\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/file\n```\n\n### Gatekeeper\n\n#### Add Gatekeeper Exception\n```sh\nspctl --add /path/to/Application.app\n```\n\n#### Remove Gatekeeper Exception\n```sh\nspctl --remove /path/to/Application.app\n```\n\n#### Manage Gatekeeper\nEspecially helpful with the annoying macOS 10.15 (Catalina) system popup\nblocking execution of non-signed apps.\n```sh\n# Status\nspctl --status\n\n# Enable (Default)\nsudo spctl --master-enable\n\n# Disable\nsudo spctl --master-disable\n```\n\n### Passwords\n\n#### Generate Secure Password and Copy to Clipboard\n```sh\nLC_ALL=C tr -dc \"[:alnum:]\" \u003c /dev/urandom | head -c 20 | pbcopy\n```\n\n### Physical Access\n\n#### Launch Screen Saver\n\n```sh\n# Up to macOS 10.12 (Sierra)\nopen /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app\n\n# From macOS 10.13 (High Sierra)\n/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine\n```\n\n\n#### Lock Screen\n```sh\n/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend\n```\n\n#### Screensaver Immediate Lock\n```sh\n# Status\ndefaults read com.apple.screensaver askForPasswordDelay\n\n# Enable (Default)\ndefaults write com.apple.screensaver askForPasswordDelay -int 0\n\n# Disable (Integer = lock delay in seconds)\ndefaults write com.apple.screensaver askForPasswordDelay -int 10\n```\n\n#### Screensaver Password\n```sh\n# Status\ndefaults read com.apple.screensaver askForPassword\n\n# Enable\ndefaults write com.apple.screensaver askForPassword -int 1\n\n# Disable (Default)\ndefaults write com.apple.screensaver askForPassword -int 0\n```\n\n### Privacy Database\n\nThe `tccutil` command manages the privacy database, which stores decisions the\nuser has made about whether apps may access personal data. You need to close\nall applications except Terminal before running any of these commands.\n\n```sh\n# Full Reset for All Applications\nsudo tccutil reset All\n\n# Reset Adress Book Access\nsudo tccutil reset AddressBook\n\n# Reset All Permission for Terminal.app\nsudo tccutil reset All com.apple.Terminal\n```\n\n### Wiping Data\n\nNote: The `srm` command appears to have been removed on MacOS after 10.9. There\nis a note on an [Apple support page](https://support.apple.com/en-us/HT201949)\nhinting as to why:\n\u003e With an SSD drive, Secure Erase and Erasing Free Space are not available in\n\u003e Disk Utility. These options are not needed for an SSD drive because a\n\u003e standard erase makes it difficult to recover data from an SSD.\n\n#### Securely Remove File\n```sh\nsrm /path/to/file\n```\n\n#### Securely Remove Folder\n```sh\nsrm -r /path/to/folder/\n```\n\n#### Securely Remove Path (Force)\n```sh\nsrm -rf /path/to/complete/destruction\n```\n\n\n## Search\n\n### Find\n\n#### Recursively Delete .DS_Store Files\n```sh\nfind . -type f -name '.DS_Store' -ls -delete\n```\n\n### Locate\n\n#### Build Locate Database\n```sh\nsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist\n```\n\n#### Search via Locate\nThe `-i` modifier makes the search case insensitive.\n```sh\nlocate -i *.jpg\n```\n\n\n## System\n\n### AirDrop\n\n#### AirDrop over Ethernet on Unsupported Macs\n```sh\n# Enable\ndefaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true \u0026\u0026 \\\ndefaults remove com.apple.NetworkBrowser DisableAirDrop\n\n# Disable (Default)\ndefaults delete com.apple.NetworkBrowser BrowseAllInterfaces \u0026\u0026 \\\ndefaults write com.apple.NetworkBrowser DisableAirDrop -bool true\n```\n\n### AppleScript\n\n#### Execute AppleScript\n```sh\nosascript /path/to/script.scpt\n```\n\n### Basics\n\n#### Compare Two Folders\n```sh\ndiff -qr /path/to/folder1 /path/to/folder2\n```\n\n#### Copy Large File with Progress\nMake sure you have `pv` installed and replace `/dev/rdisk2` with the\nappropriate write device or file.\n```sh\nFILE=/path/to/file.iso pv -s $(du -h $FILE | awk '/.*/ {print $1}') $FILE | sudo dd of=/dev/rdisk2 bs=1m\n```\n\n#### Restore Sane Shell\nIn case your shell session went insane (some script or application turned it\ninto a garbled mess).\n```sh\nstty sane\n```\n\n#### Restart\n```sh\nsudo reboot\n```\n\n#### Shutdown\n```sh\nsudo poweroff\n```\n\n#### Show Build Number of OS\n```sh\nsw_vers\n```\n\n#### Uptime\nHow long since your last restart.\n```sh\nuptime\n```\n\n### Clipboard\n\n#### Copy data to Clipboard\n```sh\ncat whatever.txt | pbcopy\n```\n\n#### Convert Clipboard to Plain Text\n```sh\npbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy\n```\n\n#### Convert Tabs to Spaces for Clipboard Content\n```sh\npbpaste | expand | pbcopy\n```\n\n#### Copy data from Clipboard\n```sh\npbpaste \u003e whatever.txt\n```\n\n#### Sort and Strip Duplicate Lines from Clipboard Content\n```sh\npbpaste | sort | uniq | pbcopy\n```\n\n### FileVault\n\n#### Automatically Unlock FileVault on Restart\nIf FileVault is enabled on the current volume, it restarts the system,\nbypassing the initial unlock. The command may not work on all systems.\n```sh\nsudo fdesetup authrestart\n```\n\n#### FileVault Service\n```sh\n# Status\nsudo fdesetup status\n\n# Enable\nsudo fdesetup enable\n\n# Disable (Default)\nsudo fdesetup disable\n```\n\n### Information/Reports\n\n#### Generate Advanced System and Performance Report\n```sh\nsudo sysdiagnose -f ~/Desktop/\n```\n\n### Installation\n\n#### Create Bootable Installer\n```sh\n# macOS 11 (Big Sur)\nsudo /Applications/Install\\ macOS\\ Big\\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets\n\n# macOS 10.15 (Catalina)\nsudo /Applications/Install\\ macOS\\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets\n\n# macOS 10.14 (Mojave)\nsudo /Applications/Install\\ macOS\\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets\n\n# macOS 10.13 (High Sierra)\nsudo /Applications/Install\\ macOS\\ High\\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ macOS\\ High\\ Sierra.app\n\n# macOS 10.12 (Sierra)\nsudo /Applications/Install\\ macOS\\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ macOS\\ Sierra.app\n\n# OS X 10.11 (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# OS X 10.10 (Yosemite)\nsudo /Applications/Install\\ OS\\ X\\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\\ OS\\ X\\ Yosemite.app\n```\n\n* For confirmation before erasing the drive, remove `–-nointeraction` from the\n  command.\n* The optional `–-downloadassets` flag is new in macOS 10.14 (Mojave). It\n  downloads assets which may be required during installation, like updates.\n* The `–-applicationpath` flag is deprecated since macOS 10.14 (Mojave) and\n  will throw an error if used.\n\n#### Download Older OS Versions\n\nVersion       | Codename      | Download\n------------- | ------------- | --------\nMac OS X 10.0 | Cheetah       | n/a\nMac OS X 10.1 | Puma          | n/a\nMac OS X 10.2 | Jaguar        | n/a\nMac OS X 10.3 | Panther       | n/a\nMac OS X 10.4 | Tiger         | n/a\nMac OS X 10.5 | Leopard       | n/a\nMac OS X 10.6 | Snow Leopard  | n/a\nMac OS X 10.7 | Lion          | [Direct Download](https://updates.cdn-apple.com/2021/macos/041-7683-20210614-E610947E-C7CE-46EB-8860-D26D71F0D3EA/InstallMacOSX.dmg)\nOS X 10.8     | Mountain Lion | [Direct Download](https://updates.cdn-apple.com/2021/macos/031-0627-20210614-90D11F33-1A65-42DD-BBEA-E1D9F43A6B3F/InstallMacOSX.dmg)\nOS X 10.9     | Mavericks     | n/a\nOS X 10.10    | Yosemite      | [Direct Download](http://updates-http.cdn-apple.com/2019/cert/061-41343-20191023-02465f92-3ab5-4c92-bfe2-b725447a070d/InstallMacOSX.dmg)\nOS X 10.11    | El Capitan    | [Direct Download](http://updates-http.cdn-apple.com/2019/cert/061-41424-20191024-218af9ec-cf50-4516-9011-228c78eda3d2/InstallMacOSX.dmg)\nmacOS 10.12   | Sierra        | [Direct Download](http://updates-http.cdn-apple.com/2019/cert/061-39476-20191023-48f365f4-0015-4c41-9f44-39d3d2aca067/InstallOS.dmg)\nmacOS 10.13   | High Sierra   | [App Store](https://apps.apple.com/de/app/macos-high-sierra/id1246284741)\nmacOS 10.14   | Mojave        | [App Store](https://apps.apple.com/de/app/macos-mojave/id1398502828)\nmacOS 10.15   | Catalina      | [App Store](https://apps.apple.com/de/app/macos-catalina/id1466841314)\nmacOS 11      | Big Sur       | [App Store](https://apps.apple.com/de/app/macos-big-sur/id1526878132)\nmacOS 12      | Monterey      | [App Store](https://apps.apple.com/de/app/macos-monterey/id1576738294)\n\n### Kernel Extensions\n\n#### Display Status of Loaded Kernel Extensions\n```sh\nsudo kextstat -l\n```\n\n#### Load Kernel Extension\n```sh\nsudo kextload -b com.apple.driver.ExampleBundle\n```\n\n#### Unload Kernel Extensions\n```sh\nsudo kextunload -b com.apple.driver.ExampleBundle\n```\n\n### LaunchAgents\n\nPlease see [this file](launchagents.md).\n\n\n### LaunchServices\n\n#### Rebuild LaunchServices Database\nTo be independent of OS X version, this relies on `locate` to find\n`lsregister`. If you do not have your `locate` database built yet, [do\nit](#build-locate-database).\n```sh\nsudo $(locate lsregister) -kill -seed -r\n```\n\n### Login Window\n\n#### Set Login Window Text\n```sh\nsudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText \"Your text\"\n```\n\n### Memory Management\n\n#### Purge memory cache\n```sh\nsudo purge\n```\n\n#### Show Memory Statistics\n```sh\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### Notification Center\n\n#### Notification Center Service\n```sh\n# Disable\nlaunchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist \u0026\u0026 \\\nkillall -9 NotificationCenter\n\n# Enable (Default)\nlaunchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist\n```\n\n### QuickLook\n\n#### Preview via QuickLook\n```sh\nqlmanage -p /path/to/file\n```\n\n### Remote Management\n\nSee also: [Apple Remote Desktop](#apple-remote-desktop).\n\n#### Prevent Double Password Entry\nWhen logging into a Mac remotely via Apple Remote Desktop or VNC, you are\nsometimes required to enter your password a second time after connecting to the\nMac. While you can disable this behavior, it is explicitly not recommend to\nturn this functionality off unless you are certain that no one else will be\nable to access your Mac physically when you are away.\n```sh\n# Disable\nsudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist RestoreMachineState -bool false\n\n# Enable (Default)\nsudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist RestoreMachineState -bool true\n```\n\n#### Remote Apple Events\n```sh\n# Status\nsudo systemsetup -getremoteappleevents\n\n# Enable\nsudo systemsetup -setremoteappleevents on\n\n# Disable (Default)\nsudo systemsetup -setremoteappleevents off\n```\n\n### Root User\n\n```sh\n# Enable\ndsenableroot\n\n# Disable (Default)\ndsenableroot -d\n```\n\n### Safe Mode Boot\n\n```sh\n# Status\nnvram boot-args\n\n# Enable\nsudo nvram boot-args=\"-x\"\n\n# Disable (Default)\nsudo nvram boot-args=\"\"\n```\n\n### Save Dialogs\n\nSignificantly improve the now rather slow animation in save dialogs.\n\n```sh\ndefaults write NSGlobalDomain NSWindowResizeTime .001\n```\n\n### Screenshots\n\n#### Take Delayed Screenshot\nTakes a screenshot as JPEG after 3 seconds and displays in Preview.\n```sh\nscreencapture -T 3 -t jpg -P delayedpic.jpg\n```\n\n#### Save Screenshots to Given Location\nSets location to `~/Desktop`.\n```sh\ndefaults write com.apple.screencapture location ~/Desktop \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n#### Save Screenshots in Given Format\nSets format to `png`. Other options are `bmp`, `gif`, `jpg`, `jpeg`, `pdf`,\n`tiff`.\n```sh\ndefaults write com.apple.screencapture type -string \"png\"\n```\n\n#### Disable Shadow in Screenshots\n```sh\ndefaults write com.apple.screencapture disable-shadow -bool true \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n#### Set Default Screenshot Name\nDate and time remain unchanged.\n```sh\ndefaults write com.apple.screencapture name \"Example name\" \u0026\u0026 \\\nkillall SystemUIServer\n```\n\n### Software Installation\n\n#### Install PKG\n```sh\ninstaller -pkg /path/to/installer.pkg -target /\n```\n\n### Sidecar\n\n#### Use on Incompatible Macs\nThis may or may not work, depending on the age of the machine.\n```sh\n# Enable\ndefaults write com.apple.sidecar.display AllowAllDevices -bool true \u0026\u0026 \\\ndefaults write com.apple.sidecar.display hasShownPref -bool true\n\n# Disable (Default)\ndefaults delete com.apple.sidecar.display\n```\n\n### Software Update\n\n#### Ignore Specific Software Update\nThe identifier can be found via `softwareupdate --list`. In the example below,\nbeing on macOS 10.14 (Mojave), will ignore all update prompts to macOS 10.15\n(Catalina), since the latter removes 32-bit support.\n```sh\nsudo /usr/sbin/softwareupdate --ignore \"macOS Catalina\"\n```\n\n#### Install All Available Software Updates\n```sh\nsudo softwareupdate -ia\n```\n\n#### Set Software Update Check Interval\nSet to check daily instead of weekly.\n```sh\ndefaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1\n```\n\n#### Show Available Software Updates\n```sh\nsudo softwareupdate --list\n```\n\n#### Set Software Update Server\nThis should only be done for testing purposes or unmanaged clients. To use\nnetwork-wide, either correctly set up DNS along with [Apple SUS\nservice](http://krypted.com/mac-security/using-the-software-update-service-on-mountain-lion-server/)\nand bind your clients via OpenDirectory. Alternatively, use\n[Reposado](https://github.com/wdas/reposado) together with correct network DNS\nsettings to make resolution transparent.\n[Margarita](https://github.com/jessepeterson/margarita) looks nice to have as\nwell.\n```sh\n# Use own SUS\nsudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog\n\n# Reset to Apple SUS\nsudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL\n```\n\n### Software Version\n\n#### Show System Software Version\nThere are several ways to obtain different levels of detail.\n```sh\nsw_vers -productVersion\n```\n```sh\nsystem_profiler SPSoftwareDataType\n```\n```sh\ndefaults read loginwindow SystemVersionStampAsString\n```\n\n### Spotlight\n\n#### Spotlight Indexing\n```sh\n# Disable\nmdutil -i off -d /path/to/volume\n\n# Enable (Default)\nmdutil -i on /path/to/volume\n```\n\n#### Erase Spotlight Index and Rebuild\n```sh\nmdutil -E /path/to/volume\n```\n\n#### Search via Spotlight\n```sh\nmdfind -name 'searchterm'\n```\n\n#### Show Spotlight Indexed Metadata\n```sh\nmdls /path/to/file\n```\n\n### System Integrity Protection\n\nReboot while holding \u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e and open the Terminal\napplication. You will need to `reboot` for the commands to take effect.\n\n```sh\n# Status\ncsrutil status\n\n# Enable (Default)\ncsrutil enable\n\n# Disable\ncsrutil disable\n```\n\n### Date and Time\n\n#### List Available Timezones\n```sh\nsudo systemsetup -listtimezones\n```\n\n#### Set Timezone\n```sh\nsudo systemsetup -settimezone Europe/Berlin\n```\n\n#### Set Clock Using Network Time\n```sh\n# Status\nsudo systemsetup getusingnetworktime\n\n# Enable (Default)\nsudo systemsetup setusingnetworktime on\n\n# Disable\nsudo systemsetup setusingnetworktime off\n```\n\n#### Set Menu Bar Clock Output Format\n```sh\n# System Preferences \u003e Date \u0026 Time \u003e Time options\n# Analogue\nsudo defaults write com.apple.menuextra.clock IsAnalog -bool true\n# Digital (Default)\nsudo defaults write com.apple.menuextra.clock IsAnalog -bool false\n\n# System Preferences \u003e Date \u0026 Time \u003e Flash the time separators\n# Enable\nsudo defaults write com.apple.menuextra.clock FlashDateSeparators -bool true\n# Disable (Default)\nsudo defaults write com.apple.menuextra.clock FlashDateSeparators -bool false\n\n# Thu 18 Aug 23:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM HH:mm:ss\"\n\n# Thu 23:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE HH:mm:ss\"\n\n# 18 Aug 23:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM HH:mm:ss\"\n\n# 23:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"HH:mm:ss\"\n\n# Thu 18 Aug 11:46:18 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM h:mm:ss a\"\n\n\n# Thu 11:46:18 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE h:mm:ss a\"\n\n# 18 Aug 11:46:18 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM h:mm:ss a\"\n\n# 11:46:18 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"h:mm:ss a\"\n\n# Thu 18 Aug 11:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM h:mm:ss\"\n\n# Thu 11:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE h:mm:ss\"\n\n# 18 Aug 11:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM h:mm:ss\"\n\n# 11:46:18\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Checked [:ss]\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"h:mm:ss\"\n\n# Thu 18 Aug 23:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM HH:mm\"\n\n# Thu 23:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE HH:mm\"\n\n# 18 Aug 23:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM HH:mm\"\n\n# 23:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Checked [HH:mm]\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"HH:mm\"\n\n# Thu 18 Aug 11:46 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM h:mm a\"\n\n# Thu 11:46 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE h:mm a\"\n\n# 18 Aug 11:46 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM h:mm a\"\n\n# 11:46 pm\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Checked [a]\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"h:mm a\"\n\n# Thu 18 Aug 11:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE d MMM h:mm\"\n\n# Thu 11:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Checked [EEE]\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"EEE h:mm\"\n\n# 18 Aug 11:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Checked [d MMM]\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"d MMM h:mm\"\n\n# 11:46\n# System Preferences \u003e Date \u0026 Time \u003e Display time with seconds - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Use a 24-hour clock - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show AM/PM - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show the day of the week - Unchecked\n# System Preferences \u003e Date \u0026 Time \u003e Show date - Unchecked\nsudo defaults write com.apple.menuextra.clock DateFormat -string \"h:mm\"\n\n# Apply changes immediately\nsudo killall SystemUIServer\n```\n\n([Source](https://github.com/tech-otaku/macos-defaults/blob/master/date-time.sh))\n\n\n## Terminal\n\n#### Ring Terminal Bell\nRings the terminal bell (if enabled) and puts a badge on it.\n```sh\ntput bel\n```\n\n### Alternative Terminals\n\n- [Alacritty](https://github.com/jwilm/alacritty) - Cross-platform,\n  GPU-accelerated terminal emulator.\n- [iTerm2](https://iterm2.com) - A better Terminal.app.\n- [kitty](https://sw.kovidgoyal.net/kitty/) - Modern, GPU-accelerated terminal\n  emulator.\n\n### Shells\n\n#### Bash\nInstall the latest version and set as current user's default shell:\n```sh\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/) - The default shell for OS X\n  and most other Unix-based operating systems.\n- [Bash-it](https://github.com/Bash-it/bash-it) - Community Bash framework,\n  like Oh My Zsh for Bash.\n\n#### fish\nInstall the latest version and set as current user's default shell:\n```sh\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) - A smart and user-friendly command line\n  shell for OS X, Linux, and the rest of the family.\n- [The Fishshell Framework](https://github.com/oh-my-fish/oh-my-fish) -\n  Provides core infrastructure to allow you to install packages which extend or\n  modify the look of your shell.\n- [Installation \u0026 Configuration\n  Tutorial](https://github.com/ellerbrock/fish-shell-setup-osx) - How to Setup\n  Fish Shell with Fisherman, Powerline Fonts, iTerm2 and Budspencer Theme on OS\n  X.\n\n#### Zsh\nInstall the latest version and set as current user's default shell:\n```sh\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 is a shell designed for interactive use,\n  although it is also a powerful scripting language.\n- [Oh My Zsh](http://ohmyz.sh) - An open source, community-driven framework for\n  managing your Zsh configuration.\n- [Prezto](https://github.com/sorin-ionescu/prezto) - A speedy Zsh framework.\n  Enriches the command line interface environment with sane defaults, aliases,\n  functions, auto completion, and prompt themes.\n- [zgen](https://github.com/tarjoilija/zgen) - Another open source framework\n  for managing your zsh configuration. Zgen will load oh-my-zsh compatible\n  plugins and themes and has the advantage of both being faster and\n  automatically cloning any plugins used in your configuration for you.\n\n### Terminal Fonts\n\n- [Anonymous Pro](http://www.marksimonson.com/fonts/view/anonymous-pro) - A\n  family of four fixed-width fonts designed with coding in mind.\n- [Codeface](https://github.com/chrissimpkins/codeface) - A gallery and\n  repository of monospaced fonts for developers.\n- [DejaVu Sans Mono](https://dejavu-fonts.github.io/) - A font family based on\n  the Vera Fonts.\n- [Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans) - Designed\n  with functionality in mind, and with some wibbly-wobbly handwriting-like\n  fuzziness that makes it unassumingly cool.\n- [Hack](http://sourcefoundry.org/hack/) - Hack is hand groomed and optically\n  balanced to be your go-to code face.\n- [Inconsolata](http://levien.com/type/myfonts/inconsolata.html) -  A monospace\n  font, designed for code listings and the like.\n- [Input](http://input.fontbureau.com) - A flexible system of fonts designed\n  specifically for code.\n- [Meslo](https://github.com/andreberg/Meslo-Font) - Customized version of\n  Apple's Menlo font.\n- [Operator Mono](https://www.typography.com/fonts/operator/overview/) - A\n  surprisingly usable alternative take on a monospace font (commercial).\n- [Powerline Fonts](https://github.com/powerline/fonts) - Repo of patched fonts\n  for the Powerline plugin.\n- [Source Code Pro](https://adobe-fonts.github.io/source-code-pro/) - A\n  monospaced font family for user interfaces and coding environments.\n\n\n## Glossary\n\n### Mac OS X, OS X, and macOS Version Information\n\nVersion                    | Codename           | Release Date       | Most Recent Version\n-------------------------- | ------------------ | ------------------ | -------------------------------------\nRhapsody Developer Release | Grail1Z4 / Titan1U | August 31, 1997    | DR2 (May 14, 1998)\nMac OS X Server 1.0        | Hera               | March 16, 1999     | 1.2v3 (October 27, 2000)\nMac OS X Developer Preview | n/a                | March 16, 1999     | DP4 (April 5, 2000)\nMac OS X Public Beta       | Kodiak             | September 13, 2000 | n/a\nMac OS X 10.0              | Cheetah            | March 24, 2001     | 10.0.4 (June 22, 2001)\nMac OS X 10.1              | Puma               | September 25, 2001 | 10.1.5 (June 6, 2002)\nMac OS X 10.2              | Jaguar             | August 24, 2002    | 10.2.8 (October 3, 2003)\nMac OS X 10.3              | Panther            | October 24, 2003   | 10.3.9 (April 15, 2005)\nMac OS X 10.4              | Tiger              | April 29, 2005     | 10.4.11 (November 14, 2007)\nMac OS X 10.5              | Leopard            | October 26, 2007   | 10.5.8 (August 5, 2009)\nMac OS X 10.6              | Snow Leopard       | August 28, 2009    | 10.6.8 v1.1 (July 25, 2011)\nMac OS X 10.7              | Lion               | July 20, 2011      | 10.7.5 (September 19, 2012)\nOS X 10.8                  | Mountain Lion      | July 25, 2012      | 10.8.5 (12F2560) (August 13, 2015)\nOS X 10.9                  | Mavericks          | October 22, 2013   | 10.9.5 (13F1911) (July 18, 2016)\nOS X 10.10                 | Yosemite           | October 16, 2014   | 10.10.5 (14F2511) (July 19, 2017)\nOS X 10.11                 | El Capitan         | September 30, 2015 | 10.11.6 (15G22010) (July 9, 2018)\nmacOS 10.12                | Sierra             | September 20, 2016 | 10.12.6 (16G2136) (September 26, 2019)\nmacOS 10.13                | High Sierra        | September 25, 2017 | 10.13.6 (17G14042) (November 12, 2020)\nmacOS 10.14                | Mojave             | September 24, 2018 | 10.14.6 (18G9323) (July 21, 2021)\nmacOS 10.15                | Catalina           | October 7, 2019    | 10.15.7 (19H1323) (July 21, 2021)\nmacOS 11                   | Big Sur            | November 12, 2020  | 11.6 (20G165) (September 13, 2021)\nmacOS 12                   | Monterey           | October 25, 2021   | 12.4 (21F79) (May 16, 2022)\nmacOS 13                   | Ventura            | tba                | 13.0 beta 3 (22A5295h) (July 6, 2022)\n\n\n## License\n\n\u003ca rel=\"license\" href=\"https://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://licensebuttons.net/l/by-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"https://creativecommons.org/licenses/by-sa/4.0/\"\u003eCreative Commons Attribution-ShareAlike 4.0 International License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamdanre%2Fawesome-macos-command-line","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamdanre%2Fawesome-macos-command-line","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamdanre%2Fawesome-macos-command-line/lists"}