A curated list of shell commands and tools specific to OS X.
“You don’t have to know everything. You simply need to know where to find it when necessary.” (John Brunner)
If you want to contribute, you are highly encouraged to do so. Please read the contribution guidelines.
For more terminal shell goodness, please also see this list's sister list Awesome Command Line Apps.
When you find something helpful in here, you could buy me a coffee. I spend a lot of time and effort on curating this list. Keeping me properly caffeinated accelerates things. And it would really make my day. Kindness of strangers and all that. If you can't or won't, no hard feelings. It's available completely free for a reason. Still, it would be awesome.
https://github.com/sponsors/herrbischoff
There's really only one thing I'd like to note here: man
pages. Man
pages. Man
pages. Okay, three things. But this one thing seemed
so important, I had to mention it multiple times. If you're not doing it
already, you should get into the habit of consulting man pages before searching
anywhere else. Unix-style man pages are an excellent source of documentation.
There's even a man page for the man
command itself:
man man
It also explains what the numbers in the man pages refer to --- like man(1)
.
- Appearance
- Applications
- Backup
- Developer
- Dock
- Documents
- Files, Disks and Volumes
- Finder
- Fonts
- Functions
- Hardware
- Input Devices
- Launchpad
- Media
- Networking
- Package Managers
- Printing
- Security
- Search
- System
- AirDrop
- AppleScript
- Basics
- Clipboard
- Date and Time
- FileVault
- Information/Reports
- Installation
- Kernel Extensions
- LaunchAgents
- LaunchServices
- Login Window
- Memory Management
- Notification Center
- QuickLook
- Remote Management
- Root User
- Safe Mode Boot
- Save Dialogs
- Screenshots
- Sidecar
- Software Installation
- Software Update
- Software Version
- Spotlight
- System Integrity Protection
- Terminal
- Glossary
# Enable
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true && \
defaults write com.apple.Safari IncludeDevelopMenu -bool true && \
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true && \
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true && \
defaults write -g WebKitDeveloperExtras -bool true
# Disable (Default)
defaults delete com.apple.Safari IncludeInternalDebugMenu && \
defaults delete com.apple.Safari IncludeDevelopMenu && \
defaults delete com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey && \
defaults delete com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled && \
defaults delete -g WebKitDeveloperExtras
defaults write com.apple.TextEdit RichText -int 0
Install the modern Vim drop-in alternative via Homebrew.
brew install neovim
xcode-select --install
xcrun simctl delete unavailable
diskutil list
hdiutil create -volname "Volume Name" -srcfolder /path/to/folder -ov diskimage.dmg
If you'd like to encrypt the disk image:
hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg
By default, you'll be prompted for a password. You can automate that by piping in a password:
echo -n YourPassword | hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg
hdiutil attach /path/to/diskimage.dmg
hdiutil detach /dev/disk2s1
sudo chmod -RN /path/to/folder
chflags hidden /path/to/folder/
defaults write -g AppleShowAllExtensions -bool true
This is equivalent to Finder "Locked" status.
# Disable (Default)
sudo chflags -R nouchg /path/to/file/or/folder
# Enable
sudo chflags -R uchg /path/to/file/or/folder
Show Hidden Files
# Show All
defaults write com.apple.finder AppleShowAllFiles true
# Restore Default File Visibility
defaults write com.apple.finder AppleShowAllFiles false
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
chflags nohidden ~/Library
defaults write -g NSNavRecentPlacesLimit -int 10 && \
killall Finder
Makes possible to see Finder menu item "Quit Finder" with default shortcut Cmd + Q
# Enable
defaults write com.apple.finder QuitMenuItem -bool true && \
killall Finder
# Disable (Default)
defaults write com.apple.finder QuitMenuItem -bool false && \
killall Finder
Useful if you’re on an older Mac that messes up the animation.
# Disable
defaults write -g NSScrollAnimationEnabled -bool false
# Enable (Default)
defaults write -g NSScrollAnimationEnabled -bool true
# Disable
defaults write -g NSScrollViewRubberbanding -bool false
# Enable (Default)
defaults write -g NSScrollViewRubberbanding -bool true
defaults write -g NSNavPanelExpandedStateForSaveMode -bool true && \
defaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true
# Hide Icons
defaults write com.apple.finder CreateDesktop -bool false && \
killall Finder
# Show Icons (Default)
defaults write com.apple.finder CreateDesktop -bool true && \
killall Finder
# Show
defaults write com.apple.finder ShowPathbar -bool true
# Hide (Default)
defaults write com.apple.finder ShowPathbar -bool false
Possible values: WhenScrolling
, Automatic
and Always
.
defaults write -g AppleShowScrollBars -string "Always"
# Show
defaults write com.apple.finder ShowStatusBar -bool true
# Hide (Default)
defaults write com.apple.finder ShowStatusBar -bool false
Sets default save target to be a local disk, not iCloud.
defaults write -g NSDocumentSaveNewDocumentsToCloud -bool false
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
defaults write com.apple.finder NewWindowTarget -string "PfLo" && \
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}"
Sets size to 'medium'.
defaults write -g NSTableViewDefaultSizeMode -int 2
Avoids creation of .DS_Store
and AppleDouble files.
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
Avoids creation of .DS_Store
and AppleDouble files.
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
If multiple windows are open, it chooses the top-most one.
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
open https://github.com
open README.md
You can open applications using -a
.
open -a "Google Chrome" https://github.com
open /path/to/folder/
open .
Please see this file.
Prevent sleep for 1 hour:
caffeinate -u -t 3600
Play iOS charging sound when MagSafe is connected.
# Enable
defaults write com.apple.PowerChime ChimeOnAllHardware -bool true && \
open /System/Library/CoreServices/PowerChime.app
# Disable (Default)
defaults write com.apple.PowerChime ChimeOnAllHardware -bool false && \
killall PowerChime
# Disable
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
# Enable (Default)
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool true
# Show Status
defaults read -g NSAutomaticSpellingCorrectionEnabled
Enable Tab in modal dialogs.
# Text boxes and lists only (Default)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 0
# All controls
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
Change the "press and hold" behavior.
# Enable
defaults write -g ApplePressAndHoldEnabled -bool false
# Disable (Default)
defaults write -g ApplePressAndHoldEnabled -bool true
Sets a very fast repeat rate, adjust to taste.
defaults write -g KeyRepeat -int 0.02
You need to restart Dock
because Launchpad is tied to it.
# Up to OS X 10.10 (Yosemite)
rm ~/Library/Application\ Support/Dock/*.db && \
killall Dock
# From OS X 10.11 (El Capitan)
defaults write com.apple.dock ResetLaunchPad -bool true && \
killall Dock
afconvert input.mp3 ringtone.m4r -f m4af
Uses "Alex" voice, a plain UTF-8 encoded text file for input and AAC output.
say -v Alex -f file.txt -o "output.m4a"
sudo nvram SystemAudioVolume=" "
osascript -e 'set volume output muted true'
osascript -e 'set volume 4'
You can play all audio formats that are natively supported by QuickTime.
afplay -q 1 filename.mp3
say 'All your base are belong to us!'
Older Macs:
# Enable (Default)
sudo nvram BootAudio=%01
# Disable
sudo nvram BootAudio=%00
From 2016 models on:
# Enable
sudo nvram StartupMute=%00
# Disable (Default)
sudo nvram StartupMute=%01
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1
# Disable
sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add "-NoMulticastAdvertisements"
# Enable (Default)
sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array "/usr/sbin/mDNSResponder" "-launchd"
sudo ipconfig set en0 DHCP
ipconfig getpacket en0
sudo dscacheutil -flushcache && \
sudo killall -HUP mDNSResponder
sudo scutil --set ComputerName "newhostname" && \
sudo scutil --set HostName "newhostname" && \
sudo scutil --set LocalHostName "newhostname" && \
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "newhostname"
Switch between network locations created in the Network preference pane.
# Status
scselect
# Switch Network Location
scselect LocationNameFromStatus
networksetup -setmanual "Ethernet" 192.168.2.100 255.255.255.0 192.168.2.1
ping -o github.com
traceroute github.com
Prior to macOS 10.12 (Sierra), ssh would present a dialog asking for your passphrase and would offer the option to store it into the keychain. This UI was deprecated some time ago and has been removed.
Instead, a new UseKeychain option was introduced in macOS 10.12 (Sierra) allowing users to specify whether they would like for the passphrase to be stored in the keychain. This option was enabled by default on macOS 10.12 (Sierra), which caused all passphrases to be stored in the keychain.
This was not the intended default behavior, so this has been changed in macOS 10.12.2. (Source)
ssh-add -K /path/to/private_key
Then add to ~/.ssh/config
:
Host server.example.com
IdentityFile /path/to/private_key
UseKeychain yes
# Enable
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
# Disable (Default)
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
This outputs all applications currently using port 80.
sudo lsof -i :80
Works if your ISP doesn't replace DNS requests (which it shouldn't).
dig +short myip.opendns.com @resolver1.opendns.com
Alternative that works on all networks.
curl -s https://api.ipify.org && echo
Undocumented flag of the scutil
command.
scutil --nwi
Files will be served from /private/tftpboot
.
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist && \
sudo launchctl start com.apple.tftpd
networksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD
Create a symbolic link to the airport command for easy access:
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
Run a wireless scan:
airport -s
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'
ipconfig getifaddr en0
defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7
Exchange SSID with the SSID of the access point you wish to query the password from.
security find-generic-password -D "AirPort network password" -a "SSID" -gw
networksetup -setairportpower en0 on
- Fink - The full world of Unix Open Source software for Darwin. A little outdated.
- Homebrew - The missing package manager for OS X. The most popular choice.
- MacPorts - Compile, install and upgrade either command-line, X11 or Aqua based open-source software.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
cancel -a -
defaults write -g PMPrintingExpandedStateForPrint -bool true && \
defaults write -g PMPrintingExpandedStateForPrint2 -bool true
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
# Show Status
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
# Enable
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Disable (Default)
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/file
spctl --add /path/to/Application.app
spctl --remove /path/to/Application.app
Especially helpful with the annoying macOS 10.15 (Catalina) system popup blocking execution of non-signed apps.
# Status
spctl --status
# Enable (Default)
sudo spctl --master-enable
# Disable
sudo spctl --master-disable
LC_ALL=C tr -dc "[:alnum:]" < /dev/urandom | head -c 20 | pbcopy
# Up to macOS 10.12 (Sierra)
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
# From macOS 10.13 (High Sierra)
/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
# Status
defaults read com.apple.screensaver askForPasswordDelay
# Enable (Default)
defaults write com.apple.screensaver askForPasswordDelay -int 0
# Disable (Integer = lock delay in seconds)
defaults write com.apple.screensaver askForPasswordDelay -int 10
# Status
defaults read com.apple.screensaver askForPassword
# Enable
defaults write com.apple.screensaver askForPassword -int 1
# Disable (Default)
defaults write com.apple.screensaver askForPassword -int 0
The tccutil
command manages the privacy database, which stores decisions the
user has made about whether apps may access personal data. You need to close
all applications except Terminal before running any of these commands.
# Full Reset for All Applications
sudo tccutil reset All
# Reset Adress Book Access
sudo tccutil reset AddressBook
# Reset All Permission for Terminal.app
sudo tccutil reset All com.apple.Terminal
Note: The srm
command appears to have been removed on MacOS after 10.9. There
is a note on an Apple support page
hinting as to why:
With an SSD drive, Secure Erase and Erasing Free Space are not available in Disk Utility. These options are not needed for an SSD drive because a standard erase makes it difficult to recover data from an SSD.
srm /path/to/file
srm -r /path/to/folder/
srm -rf /path/to/complete/destruction
find . -type f -name '*.DS_Store' -ls -delete
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
The -i
modifier makes the search case insensitive.
locate -i *.jpg
# Enable
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true && \
defaults remove com.apple.NetworkBrowser DisableAirDrop
# Disable (Default)
defaults delete com.apple.NetworkBrowser BrowseAllInterfaces && \
defaults write com.apple.NetworkBrowser DisableAirDrop -bool YES
osascript /path/to/script.scpt
diff -qr /path/to/folder1 /path/to/folder2
Make sure you have pv
installed and replace /dev/rdisk2
with the
appropriate write device or file.
FILE=/path/to/file.iso pv -s $(du -h $FILE | awk '/.*/ {print $1}') $FILE | sudo dd of=/dev/rdisk2 bs=1m
In case your shell session went insane (some script or application turned it into a garbled mess).
stty sane
sudo reboot
sudo poweroff
sw_vers
How long since your last restart.
uptime
cat whatever.txt | pbcopy
pbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy
pbpaste | expand | pbcopy
pbpaste > whatever.txt
pbpaste | sort | uniq | pbcopy
If FileVault is enabled on the current volume, it restarts the system, bypassing the initial unlock. The command may not work on all systems.
sudo fdesetup authrestart
# Status
sudo fdesetup status
# Enable
sudo fdesetup enable
# Disable (Default)
sudo fdesetup disable
sudo sysdiagnose -f ~/Desktop/
# macOS 10.15 (Catalina)
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets
# macOS 10.14 (Mojave)
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets
# macOS 10.13 (High Sierra)
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app
# macOS 10.12 (Sierra)
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app
# OS X 10.11 (El Capitan)
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
# OS X 10.10 (Yosemite)
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Yosemite.app
- For confirmation before erasing the drive, remove
–-nointeraction
from the command. - The optional
–-downloadassets
flag is new in macOS 10.14 (Mojave). It downloads assets which may be required during installation, like updates. - The
–-applicationpath
flag is deprecated since macOS 10.14 (Mojave) and will throw an error if used.
Version | Codename | Download |
---|---|---|
Mac OS X 10.0 | Cheetah | n/a |
Mac OS X 10.1 | Puma | n/a |
Mac OS X 10.2 | Jaguar | n/a |
Mac OS X 10.3 | Panther | n/a |
Mac OS X 10.4 | Tiger | n/a |
Mac OS X 10.5 | Leopard | n/a |
Mac OS X 10.6 | Snow Leopard | n/a |
Mac OS X 10.7 | Lion | n/a |
OS X 10.8 | Mountain Lion | n/a |
OS X 10.9 | Mavericks | n/a |
OS X 10.10 | Yosemite | Direct Download |
OS X 10.11 | El Capitan | Direct Download |
macOS 10.12 | Sierra | Direct Download |
macOS 10.13 | High Sierra | App Store |
macOS 10.14 | Mojave | App Store |
macOS 10.15 | Catalina | App Store |
sudo kextstat -l
sudo kextload -b com.apple.driver.ExampleBundle
sudo kextunload -b com.apple.driver.ExampleBundle
Please see this file.
To be independent of OS X version, this relies on locate
to find
lsregister
. If you do not have your locate
database built yet, do
it.
sudo $(locate lsregister) -kill -seed -r
sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Your text"
sudo purge
# One time
vm_stat
# Table of data, repeat 10 times total, 1 second wait between each poll
vm_stat -c 10 1
# Disable
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && \
killall -9 NotificationCenter
# Enable (Default)
launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
qlmanage -p /path/to/file
See also: Apple Remote Desktop.
When logging into a Mac remotely via Apple Remote Desktop or VNC, you are sometimes required to enter your password a second time after connecting to the Mac. While you can disable this behavior, it is explicitly not recommend to turn this functionality off unless you are certain that no one else will be able to access your Mac physically when you are away.
# Disable
sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist RestoreMachineState -bool no
# Enable (Default)
sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist RestoreMachineState -bool yes
# Status
sudo systemsetup -getremoteappleevents
# Enable
sudo systemsetup -setremoteappleevents on
# Disable (Default)
sudo systemsetup -setremoteappleevents off
# Enable
dsenableroot
# Disable (Default)
dsenableroot -d
# Status
nvram boot-args
# Enable
sudo nvram boot-args="-x"
# Disable (Default)
sudo nvram boot-args=""
Significantly improve the now rather slow animation in save dialogs.
defaults write NSGlobalDomain NSWindowResizeTime .001
Takes a screenshot as JPEG after 3 seconds and displays in Preview.
screencapture -T 3 -t jpg -P delayedpic.jpg
Sets location to ~/Desktop
.
defaults write com.apple.screencapture location ~/Desktop && \
killall SystemUIServer
Sets format to png
. Other options are bmp
, gif
, jpg
, jpeg
, pdf
,
tiff
.
defaults write com.apple.screencapture type -string "png"
defaults write com.apple.screencapture disable-shadow -bool true && \
killall SystemUIServer
Date and time remain unchanged.
defaults write com.apple.screencapture name "Example name" && \
killall SystemUIServer
installer -pkg /path/to/installer.pkg -target /
This may or may not work, depending on the age of the machine.
# Enable
defaults write com.apple.sidecar.display AllowAllDevices -bool true && \
defaults write com.apple.sidecar.display hasShownPref -bool true
# Disable (Default)
defaults delete com.apple.sidecar.display
The identifier can be found via softwareupdate --list
. In the example below,
being on macOS 10.14 (Mojave), will ignore all update prompts to macOS 10.15
(Catalina), since the latter removes 32-bit support.
sudo /usr/sbin/softwareupdate --ignore "macOS Catalina"
sudo softwareupdate -ia
Set to check daily instead of weekly.
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
sudo softwareupdate --list
This should only be done for testing purposes or unmanaged clients. To use network-wide, either correctly set up DNS along with Apple SUS service and bind your clients via OpenDirectory. Alternatively, use Reposado together with correct network DNS settings to make resolution transparent. Margarita looks nice to have as well.
# Use own SUS
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog
# Reset to Apple SUS
sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL
sw_vers -productVersion
# Disable
mdutil -i off -d /path/to/volume
# Enable (Default)
mdutil -i on /path/to/volume
mdutil -E /path/to/volume
mdfind -name 'searchterm'
mdls /path/to/file
Reboot while holding Cmd + R and open the Terminal
application. You will need to reboot
for the commands to take effect.
# Status
csrutil status
# Enable (Default)
csrutil enable
# Disable
csrutil disable
sudo systemsetup -listtimezones
sudo systemsetup -settimezone Europe/Berlin
# Status
sudo systemsetup getusingnetworktime
# Enable (Default)
sudo systemsetup setusingnetworktime on
# Disable
sudo systemsetup setusingnetworktime off
# System Preferences > Date & Time > Time options
# Analogue
sudo defaults write com.apple.menuextra.clock IsAnalog -bool true
# Digital (Default)
sudo defaults write com.apple.menuextra.clock IsAnalog -bool false
# System Preferences > Date & Time > Flash the time separators
# Enable
sudo defaults write com.apple.menuextra.clock FlashDateSeparators -bool true
# Disable (Default)
sudo defaults write com.apple.menuextra.clock FlashDateSeparators -bool false
# Thu 18 Aug 23:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM HH:mm:ss"
# Thu 23:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE HH:mm:ss"
# 18 Aug 23:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM HH:mm:ss"
# 23:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "HH:mm:ss"
# Thu 18 Aug 11:46:18 pm
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM h:mm:ss a"
# Thu 11:46:18 pm
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE h:mm:ss a"
# 18 Aug 11:46:18 pm
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM h:mm:ss a"
# 11:46:18 pm
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "h:mm:ss a"
# Thu 18 Aug 11:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM h:mm:ss"
# Thu 11:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE h:mm:ss"
# 18 Aug 11:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM h:mm:ss"
# 11:46:18
# System Preferences > Date & Time > Display time with seconds - Checked [:ss]
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "h:mm:ss"
# Thu 18 Aug 23:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM HH:mm"
# Thu 23:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE HH:mm"
# 18 Aug 23:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM HH:mm"
# 23:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Checked [HH:mm]
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "HH:mm"
# Thu 18 Aug 11:46 pm
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM h:mm a"
# Thu 11:46 pm
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE h:mm a"
# 18 Aug 11:46 pm
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM h:mm a"
# 11:46 pm
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Checked [a]
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "h:mm a"
# Thu 18 Aug 11:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM h:mm"
# Thu 11:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Checked [EEE]
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "EEE h:mm"
# 18 Aug 11:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Checked [d MMM]
sudo defaults write com.apple.menuextra.clock DateFormat -string "d MMM h:mm"
# 11:46
# System Preferences > Date & Time > Display time with seconds - Unchecked
# System Preferences > Date & Time > Use a 24-hour clock - Unchecked
# System Preferences > Date & Time > Show AM/PM - Unchecked
# System Preferences > Date & Time > Show the day of the week - Unchecked
# System Preferences > Date & Time > Show date - Unchecked
sudo defaults write com.apple.menuextra.clock DateFormat -string "h:mm"
# Apply changes immediately
sudo killall SystemUIServer
(Source)
Rings the terminal bell (if enabled) and puts a badge on it.
tput bel
- Alacritty - Cross-platform, GPU-accelerated terminal emulator.
- iTerm2 - A better Terminal.app.
- kitty - Modern, GPU-accelerated terminal emulator.
Install the latest version and set as current user's default shell:
brew install bash && \
echo $(brew --prefix)/bin/bash | sudo tee -a /etc/shells && \
chsh -s $(brew --prefix)/bin/bash
- Homepage - The default shell for OS X and most other Unix-based operating systems.
- Bash-it - Community Bash framework, like Oh My Zsh for Bash.
Install the latest version and set as current user's default shell:
brew install fish && \
echo $(brew --prefix)/bin/fish | sudo tee -a /etc/shells && \
chsh -s $(brew --prefix)/bin/fish
- Homepage - A smart and user-friendly command line shell for OS X, Linux, and the rest of the family.
- The Fishshell Framework - Provides core infrastructure to allow you to install packages which extend or modify the look of your shell.
- Installation & Configuration Tutorial - How to Setup Fish Shell with Fisherman, Powerline Fonts, iTerm2 and Budspencer Theme on OS X.
Install the latest version and set as current user's default shell:
brew install zsh && \
sudo sh -c 'echo $(brew --prefix)/bin/zsh >> /etc/shells' && \
chsh -s $(brew --prefix)/bin/zsh
- Homepage - Zsh is a shell designed for interactive use, although it is also a powerful scripting language.
- Oh My Zsh - An open source, community-driven framework for managing your Zsh configuration.
- Prezto - A speedy Zsh framework. Enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.
- zgen - Another open source framework for managing your zsh configuration. Zgen will load oh-my-zsh compatible plugins and themes and has the advantage of both being faster and automatically cloning any plugins used in your configuration for you.
- Anonymous Pro - A family of four fixed-width fonts designed with coding in mind.
- Codeface - A gallery and repository of monospaced fonts for developers.
- DejaVu Sans Mono - A font family based on the Vera Fonts.
- Fantasque Sans Mono - Designed with functionality in mind, and with some wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool.
- Hack - Hack is hand groomed and optically balanced to be your go-to code face.
- Inconsolata - A monospace font, designed for code listings and the like.
- Input - A flexible system of fonts designed specifically for code.
- Meslo - Customized version of Apple's Menlo font.
- Operator Mono - A surprisingly usable alternative take on a monospace font (commercial).
- Powerline Fonts - Repo of patched fonts for the Powerline plugin.
- Source Code Pro - A monospaced font family for user interfaces and coding environments.
Version | Codename | Release Date | Most Recent Version |
---|---|---|---|
Rhapsody Developer Release | Grail1Z4 / Titan1U | August 31, 1997 | DR2 (May 14, 1998) |
Mac OS X Server 1.0 | Hera | March 16, 1999 | 1.2v3 (October 27, 2000) |
Mac OS X Developer Preview | n/a | March 16, 1999 | DP4 (April 5, 2000) |
Mac OS X Public Beta | Kodiak | September 13, 2000 | n/a |
Mac OS X 10.0 | Cheetah | March 24, 2001 | 10.0.4 (June 22, 2001) |
Mac OS X 10.1 | Puma | September 25, 2001 | 10.1.5 (June 6, 2002) |
Mac OS X 10.2 | Jaguar | August 24, 2002 | 10.2.8 (October 3, 2003) |
Mac OS X 10.3 | Panther | October 24, 2003 | 10.3.9 (April 15, 2005) |
Mac OS X 10.4 | Tiger | April 29, 2005 | 10.4.11 (November 14, 2007) |
Mac OS X 10.5 | Leopard | October 26, 2007 | 10.5.8 (August 5, 2009) |
Mac OS X 10.6 | Snow Leopard | August 28, 2009 | 10.6.8 v1.1 (July 25, 2011) |
Mac OS X 10.7 | Lion | July 20, 2011 | 10.7.5 (September 19, 2012) |
OS X 10.8 | Mountain Lion | July 25, 2012 | 10.8.5 (12F45) (October 3, 2013) |
OS X 10.9 | Mavericks | October 22, 2013 | 10.9.5 (13F1112) (September 18, 2014) |
OS X 10.10 | Yosemite | October 16, 2014 | 10.10.5 (14F27) (August 13, 2015) |
OS X 10.11 | El Capitan | September 30, 2015 | 10.11.6 (15G31) (July 18, 2016) |
macOS 10.12 | Sierra | September 20, 2016 | 10.12.6 (16G29) (July 19, 2017) |
macOS 10.13 | High Sierra | September 25, 2017 | 10.13.6 (17G65) (July 9, 2018) |
macOS 10.14 | Mojave | September 24, 2018 | 10.14.6 (18G3020) (January 28, 2020) |
macOS 10.15 | Catalina | October 7, 2019 | 10.15.5 (19F101) (June 1, 2020) |
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.