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.
- Appearance
- Applications
- Backup
- Developer
- Dock
- Documents
- Files, Disks and Volumes
- Finder
- Fonts
- Functions
- Hardware
- Input Devices
- Media
- Networking
- Package Managers
- Printing
- Security
- Search
- System
- AirDrop
- AppleScript
- Basics
- Clipboard
- Date and Time
- FileVault
- Information/Reports
- Install OS
- Kernel Extensions
- LaunchAgents
- LaunchServices
- Login Window
- Memory Management
- Notification Center
- QuickLook
- Remote Apple Events
- Root User
- Safe Mode Boot
- Screenshots
- Software Installation
- Software Update
- Spotlight
- System Integrity Protection
- Terminal
# Reduce Transparency
defaults write com.apple.universalaccess reduceTransparency -bool true
# Restore Default Transparency
defaults write com.apple.universalaccess reduceTransparency -bool false# Up to Mountain Lion
osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/path/to/picture.jpg"'
# Since Mavericks
sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/picture.jpg'" && killall Dock# Via find
find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'
# Via Spotlight
mdfind kMDItemAppStoreHasReceipt=1# Enable
defaults write com.apple.appstore ShowDebugMenu -bool true
# Disable (Default)
defaults write com.apple.appstore ShowDebugMenu -bool falsesudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help# Activate And Restart the ARD Agent and Helper
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -restart -agent -console
# Deactivate and Stop the Remote Management Service
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop # Allow Access for All Users and Give All Users Full Access
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all
# Disable ARD Agent and Remove Access Privileges for All Users
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -offsudo rm -rf /var/db/RemoteManagement ; \
sudo defaults delete /Library/Preferences/com.apple.RemoteDesktop.plist ; \
defaults delete ~/Library/Preferences/com.apple.RemoteDesktop.plist ; \
sudo rm -r /Library/Application\ Support/Apple/Remote\ Desktop/ ; \
rm -r ~/Library/Application\ Support/Remote\ Desktop/ ; \
rm -r ~/Library/Containers/com.apple.RemoteDesktop# Enable
defaults write com.apple.addressbook ABShowDebugMenu -bool true
# Disable (Default)
defaults write com.apple.addressbook ABShowDebugMenu -bool false~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --nuke# Stop Responding to Key Presses
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
# Respond to Key Presses (Default)
launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plistdefaults write com.apple.mail DisableInlineAttachmentViewing -bool yesThe AppleScript code below will quit Mail, vacuum the SQLite index, then re-open Mail. On a large email database that hasn't been optimized for a while, this can provide significant improvements in responsiveness and speed.
(*
Speed up Mail.app by vacuuming the Envelope Index
Code from: http://web.archive.org/web/20071008123746/http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/
Originally by "pmbuko" with modifications by Romulo
Updated by Brett Terpstra 2012
Updated by Mathias Törnblom 2015 to support V3 in El Capitan and still keep backwards compatibility
Updated by Andrei Miclaus 2017 to support V4 in Sierra
*)
tell application "Mail" to quit
set os_version to do shell script "sw_vers -productVersion"
set mail_version to "V2"
considering numeric strings
if "10.10" <= os_version then set mail_version to "V3"
if "10.12" < os_version then set mail_version to "V4"
end considering
set sizeBefore to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"
do shell script "/usr/bin/sqlite3 ~/Library/Mail/" & mail_version & "/MailData/Envelope\\ Index vacuum"
set sizeAfter to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"
display dialog ("Mail index before: " & sizeBefore & return & "Mail index after: " & sizeAfter & return & return & "Enjoy the new speed!")
tell application "Mail" to activatedefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14defaults 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 trueOther options: get source, get text.
osascript -e 'tell application "Safari" to get URL of current tab of front window'# Enable
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool YES
# Disable
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool NOdefaults write com.bohemiancoding.sketch3 exportCompactSVG -bool yesRemoves the dialog and defaults to auto reload.
defaults write -app Skim SKAutoReloadFileUpdate -boolean true# Enable
defaults write com.apple.Terminal FocusFollowsMouse -string YES
# Disable
defaults write com.apple.Terminal FocusFollowsMouse -string NOdefaults write com.apple.TextEdit RichText -int 0defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool falseAt next start the warning "Your Code installation appears to be corrupt. Please reinstall." will appear. That's fine, just click "Don't show again".
sed -i '' 's/\.send-feedback{display:inline-block}/\.send-feedback{display:none}/' /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.cssThis changes the interval to 30 minutes. The integer value is the time in seconds.
sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800Whether Time Machine performs local backups while the Time Machine backup volume is not available.
# Status
defaults read /Library/Preferences/com.apple.TimeMachine MobileBackups
# Enable (Default)
sudo tmutil enablelocal
# Disable
sudo tmutil disablelocalsudo defaults write /Library/Preferences/com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool trueBeginning in OS X 10.11, Time Machine records checksums of files copied into snapshots. Checksums are not retroactively computed for files that were copied by earlier releases of OS X.
sudo tmutil verifychecksums /path/to/backupCompiling MacVim via Homebrew with all bells and whistles, including overriding system Vim.
brew install macvim --HEAD --with-cscope --with-lua --with-override-system-vim --with-luajit --with-pythonInstall the development version of this modern Vim drop-in alternative via Homebrew.
brew install neovim/neovim/neovimxcode-select --installxcrun simctl delete unavailabledefaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }' && \
killall Dockdefaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \
killall Dock# Enable (Default)
defaults write com.apple.dock mru-spaces -bool true && \
killall Dock
# Disable
defaults write com.apple.dock mru-spaces -bool false && \
killall DockGlobal setting whether Dock icons should bounce when the respective application demands your attention.
# Enable (Default)
defaults write com.apple.dock no-bouncing -bool true && \
killall Dock
# Disable
defaults write com.apple.dock no-bouncing -bool false && \
killall Dockdefaults delete com.apple.dock && \
killall DockFully resize your Dock's body. To resize change the 0 value as an integer.
defaults write com.apple.dock tilesize -int 0 && \
killall DockUse your touchpad or mouse scroll wheel to interact with Dock items. Allows you to use an upward scrolling gesture to open stacks. Using the same gesture on applications that are running invokes Exposé/Mission Control.
# Enable
defaults write com.apple.dock scroll-to-open -bool true && \
killall Dock
# Disable (Default)
defaults write com.apple.dock scroll-to-open -bool false && \
killall DockThe float number defines the show/hide delay in ms.
defaults write com.apple.Dock autohide-delay -float 0 && \
killall DockShow Hidden App Icons
# Enable
defaults write com.apple.dock showhidden -bool true && \
killall Dock
# Disable (Default)
defaults write com.apple.dock showhidden -bool false && \
killall Dock# Enable
defaults write com.apple.dock static-only -bool true && \
killall Dock
# Disable (Default)
defaults write com.apple.dock static-only -bool false && \
killall DockSupported formats are plain text, rich text (rtf) and Microsoft Word (doc/docx).
textutil -convert html file.extCreates an empty 10 gigabyte test file.
mkfile 10g /path/to/fileLeaving this turned on is useless when you're using SSDs.
sudo pmset -a sms 0The only reliable way to do this is by sending an AppleScript command to Finder.
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'You don't have to use the Disk Utility GUI for this.
sudo diskutil repairPermissions /Beginning with OS X El Capitan, system file permissions are automatically protected. It's no longer necessary to verify or repair permissions with Disk Utility. (Source)
bless --mount "/path/to/mounted/volume" --setBootdiskutil listA continuous stream of file system access info.
sudo fs_usagehdiutil create -volname "Volume Name" -srcfolder /path/to/folder -ov diskimage.dmgIf you'd like to encrypt the disk image:
hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmgBy 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.dmgThis command applies to .iso, .img and .dmg images.
hdiutil burn /path/to/image_filedefaults write com.apple.frameworks.diskimages skip-verify -bool true && \
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true && \
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool truebless --folder "/path/to/mounted/volume/System/Library/CoreServices" --bootinfo --bootefihdiutil attach /path/to/diskimage.dmghdiutil detach /dev/disk2s1Like the Disk Utility "Restore" function.
sudo asr -restore -noverify -source /path/to/diskimage.dmg -target /Volumes/VolumeToRestoreTosudo chmod -RN /path/to/folderchflags hidden /path/to/folder/defaults write -g AppleShowAllExtensions -bool trueShow Hidden Files
# Show All
defaults write com.apple.finder AppleShowAllFiles true
# Restore Default File Visibility
defaults write com.apple.finder AppleShowAllFiles falsesudo chflags -R nouchg /path/to/file/or/folderdefaults write com.apple.finder _FXShowPosixPathInTitle -bool truechflags nohidden ~/Librarydefaults write -g NSNavRecentPlacesLimit -int 10 && \
killall FinderMakes 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 FinderUseful 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 truedefaults 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 falsePossible 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 falseSets default save target to be a local disk, not iCloud.
defaults write -g NSDocumentSaveNewDocumentsToCloud -bool falsedefaults 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 2Avoids creation of .DS_Store and AppleDouble files.
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool trueAvoids creation of .DS_Store and AppleDouble files.
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool trueIf 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.comopen README.mdYou can open applications using -a.
open -a "Google Chrome" https://github.comopen /path/to/folder/open .To clear font caches for all users, put sudo in front of this command.
atsutil databases -removeUser && \
atsutil server -shutdown && \
atsutil server -pingYou need to download and install Xcode 8 beta for this to work. Afterwards they should be available in all applications.
cp -v /Applications/Xcode-beta.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Fonts/SFMono-* ~/Library/FontsFrom Sierra onward, they are included in Terminal.app.
cp -v /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-* ~/Library/FontsPlease see this file.
# Status
defaults read /Library/Preferences/com.apple.Bluetooth ControllerPowerState
# Enable (Default)
sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1
# Disable
sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0 && \
sudo killall -HUP bluedEnable Trim for non-Apple SSDs. This command is available since Yosemite.
forcetrimnetworksetup -listallhardwareportspmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f1 -d';'pmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f3 -d';'system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p'system_profiler SPDisplaysDataType | grep Resolutionsysctl -n machdep.cpu.brand_string# Status
defaults read /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled
# Enable (Default)
defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 1
# Disable
defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 0Prevent sleep for 1 hour:
caffeinate -u -t 3600sudo pmset -gsudo pmset displaysleep 15sudo pmset sleep 30sudo systemsetup -getcomputersleepsudo systemsetup -setcomputersleep 60sudo systemsetup -setcomputersleep Neversudo systemsetup -setrestartfreeze onPlay 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 NSAutomaticSpellingCorrectionEnabledEnable Tab in modal dialogs.
# Text boxes and lists only (Default)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 0
# All controls
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3Disable the default "press and hold" behavior.
# Enable Key Repeat
defaults write -g ApplePressAndHoldEnabled -bool false
# Disable Key Repeat
defaults write -g ApplePressAndHoldEnabled -bool trueSets a very fast repeat rate, adjust to taste.
defaults write -g KeyRepeat -int 0.02afconvert input.mp3 ringtone.m4r -f m4afUses "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.mp3say 'All your base are belong to us!'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 DHCPipconfig getpacket en0sudo dscacheutil -flushcache && \
sudo killall -HUP mDNSRespondersudo 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 LocationNameFromStatusping -o github.comtraceroute github.com# Enable remote login
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
# Disable remote login
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plistThis outputs all applications currently using port 80.
sudo lsof -i :80dig +short myip.opendns.com @resolver1.opendns.comFiles will be served from /private/tftpboot.
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist && \
sudo launchctl start com.apple.tftpdnetworksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORDCreate 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/airportRun 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 en0defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7Exchange 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" -gwnetworksetup -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. Very clean, it's what I use.
cancel -a -defaults write -g PMPrintingExpandedStateForPrint -bool true && \
defaults write -g PMPrintingExpandedStateForPrint2 -bool truedefaults 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 offsudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/filespctl --add /path/to/Application.appspctl --remove /path/to/Application.app# Status
spctl --status
# Enable (Default)
sudo spctl --master-enable
# Disable
sudo spctl --master-disableLC_ALL=C tr -dc "[:alpha:][:alnum:]" < /dev/urandom | head -c 20 | pbcopyopen /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/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 0Note: 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/filesrm -r /path/to/folder/srm -rf /path/to/complete/destructionfind . -type f -name '*.DS_Store' -ls -deletesudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistThe -i modifier makes the search case insensitive.
locate -i *.jpg# Enable AirDrop over Ethernet and on Unsupported Macs
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true
# Enable (Default)
defaults remove com.apple.NetworkBrowser DisableAirDrop
# Disable
defaults write com.apple.NetworkBrowser DisableAirDrop -bool YESosascript /path/to/script.scptdiff -qr /path/to/folder1 /path/to/folder2Make 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=1mIn case your shell session went insane (some script or application turned it into a garbled mess).
stty sanesudo rebootsudo poweroffsw_versHow long since your last restart.
uptimecat whatever.txt | pbcopypbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopypbpaste | expand | pbcopypbpaste > whatever.txtpbpaste | sort | uniq | pbcopyIf 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 fdestatus disablesudo sysdiagnose -f ~/Desktop/# Sierra
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app
# El Capitan
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
# Yosemite
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Yosemite.appsudo kextstat -lsudo kextload -b com.apple.driver.ExampleBundlesudo kextunload -b com.apple.driver.ExampleBundlePlease 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 -rsudo 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.plistqlmanage -p /path/to/file# Status
sudo systemsetup -getremoteappleevents
# Enable
sudo systemsetup -setremoteappleevents on
# Disable (Default)
sudo systemsetup -setremoteappleevents off# Enable
dsenableroot
# Disable
dsenableroot -d# Status
nvram boot-args
# Enable
sudo nvram boot-args="-x"
# Disable
sudo nvram boot-args=""Takes a screenshot as JPEG after 3 seconds and displays in Preview.
screencapture -T 3 -t jpg -P delayedpic.jpgSets location to ~/Desktop.
defaults write com.apple.screencapture location ~/Desktop && \
killall SystemUIServerSets 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 SystemUIServerDate and time remain unchanged.
defaults write com.apple.screencapture name "Example name" && \
killall SystemUIServerinstaller -pkg /path/to/installer.pkg -target /sudo softwareupdate -iaSet to check daily instead of weekly.
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1sudo softwareupdate -lThis 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# Disable
mdutil -i off -d /path/to/volume
# Enable (Default)
mdutil -i on /path/to/volumemdutil -E /path/to/volumemdfind -name 'searchterm'mdls /path/to/fileReboot while holding Cmd + R, open the Terminal application and enter:
csrutil disable && rebootReboot while holding Cmd + R, open the Terminal application and enter:
csrutil enable && rebootsudo systemsetup -listtimezonessudo systemsetup -settimezone Europe/Berlin# Status
sudo systemsetup getusingnetworktime
# Enable (Default)
sudo systemsetup setusingnetworktime on
# Disable
sudo systemsetup setusingnetworktime offRings the terminal bell (if enabled) and puts a badge on it.
tput bel- iTerm2 - A better Terminal.app.
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.
- Fisherman - A blazing fast, modern plugin manager for Fish.
- 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.
- 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.
In case you feel particularly generous today, you can buy me a coffee. That would really make my day. Kindness of strangers and all that. If you can't or won't, no hard feelings.
Bitcoin: 1HXi42h9Uk5LmDrq1rVv8ykaFoeARTXw9P
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
