Back to All Cheatsheet Libraries cheatsheets

macOS

Keyboard shortcuts, system settings, and troubleshooting reference for everyday macOS use and support.

Command (Cmd)

Option (Alt)

Shift

Control (Ctrl)

Escape (Esc)

⌫ / ⌦

Delete / Fwd Delete

Total Items: 0
Category Scope / Context Shortcut / Name Key Combination / Syntax Key Modifiers Usage Example Description & Notes
1. System Global Spotlight Search ⌘ + Space Command, Space ⌘ + Space → "Terminal" Launches Spotlight for instant file search, calculations, conversions, and app launching.
1. System Global App Switcher ⌘ + Tab Command, Tab Hold ⌘, tap Tab Switches between active applications. Press `Q` while switching to quit highlighted app.
1. System Global Force Quit Apps ⌥ + ⌘ + ⎋ Option, Command, Esc ⌥ + ⌘ + ⎋ → Select Unresponsive App Opens the Force Quit Applications dialog window to terminate frozen software instantly.
1. System Global Lock Screen ⌃ + ⌘ + Q Control, Command, Q ⌃ + ⌘ + Q Immediately locks your Mac display screen for security when stepping away.
2. Screen Captures Capture Utility Screenshot Toolbar ⇧ + ⌘ + 5 Shift, Command, 5 ⇧ + ⌘ + 5 → Record Screen Opens interactive screen capture & video recording HUD with custom options and timers.
2. Screen Captures Screenshot Selected Region Capture ⇧ + ⌘ + 4 Shift, Command, 4 ⇧ + ⌘ + 4 + Space (Window) Drag crosshairs to capture screen area. Press Spacebar to snap an individual window.
3. Finder Operations Finder Quick Look Preview Spacebar Spacebar Select File → Spacebar Previews images, PDFs, videos, or documents instantly without opening the associated application.
3. Finder Operations Finder Move File (Cut & Paste) ⌥ + ⌘ + V Option, Command, V ⌘ + C → Navigate → ⌥ + ⌘ + V Moves copied items from original location to target folder instead of duplicating them.
3. Finder Operations Finder Toggle Hidden Files ⇧ + ⌘ + . Shift, Command, Dot ⇧ + ⌘ + . in Finder Shows or hides invisible files (dotfiles like `.zshrc` or hidden `.Trash` directory) in Finder.
3. Finder Operations Finder Go to Folder Path ⇧ + ⌘ + G Shift, Command, G ⇧ + ⌘ + G → ~/Library/ Opens path navigation box to directly enter absolute file paths or system directories.
4. Text Editing Text Fields Word-by-Word Jump ⌥ + Left / Right Option, Arrow Keys ⌥ + → or ⌥ + ← Moves text insertion cursor forward or backward one whole word at a time.
4. Text Editing Text Fields Line Beginning / End ⌘ + Left / Right Command, Arrow Keys ⌘ + → (End of line) Jumps text cursor directly to the start or end of the current line.
4. Text Editing Text Fields Emoji & Symbols Palette ⌃ + ⌘ + Space Control, Command, Space ⌃ + ⌘ + Space → 🚀 Opens native macOS Emoji and Character Viewer picker panel.
5. Terminal CLI zsh / bash List Open Ports & Processes lsof -i :<port> Terminal Command lsof -i :3000 Identifies which application process PID is listening on a specific network port (e.g., local dev servers).
5. Terminal CLI zsh / bash Flush macOS DNS Cache sudo dscacheutil -flushcache... Sudo Command sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder Resets system local DNS cache when website domain changes or network resolution fails.
5. Terminal CLI zsh / bash Restart macOS Finder killall Finder Terminal Command killall Finder Restarts the macOS Finder application process without requiring a system reboot.
5. Terminal CLI zsh / bash Prevent Sleep Mode caffeinate -u -t <sec> Terminal Command caffeinate -u -t 3600 Prevents display or CPU from going to sleep for a designated duration (e.g., long downloads/renders).

macOS Pro Tips & Workflow Hacks

Spotlight Instant Math & FX
Spotlight is an instant calculator and currency converter. Press ⌘ + Space and type arithmetic directly, or currency rates like $100 to EUR or unit conversions like 100 C to F.
Precise Volume & Brightness
Hold ⌥ + ⇧ while pressing volume or display brightness keys to adjust levels in fine-grained quarter-step increments instead of full block jumps.
Paste Without Formatting
When copying text with unwanted styling, fonts, or web backgrounds, use ⌥ + ⇧ + ⌘ + V to strip all formatting and paste plain text matching your destination file.

Apple Business Manager is the foundation — everything else plugs into it

Modern Mac fleet management starts at Apple Business Manager (ABM) or Apple School Manager (ASM). ABM is the free Apple portal that links your hardware purchases, your app licences, and your MDM together. Without it you're managing Macs one at a time by hand; with it, a Mac can go from sealed box to fully configured without an admin ever touching it.

The acronyms, decoded

Term Also known as What it actually is Why it matters
ABM / ASM Current Apple Business Manager / Apple School Manager — the free web portal at business.apple.com that ties together device enrolment, app licensing, and Managed Apple IDs. The single prerequisite for zero-touch deployment. Set this up first; everything else depends on it.
ADE was DEP Automated Device Enrollment. Devices bought from Apple or an authorised reseller are tied to your organisation's Apple ID at the point of sale and auto-enrol into your MDM on first boot. Zero-touch deployment. Ship a sealed Mac to a new hire; it configures itself on the setup screen. Enrolment can be made mandatory and non-removable.
VPP now "Apps and Books" Volume Purchase Program. Buy App Store app licences in bulk inside ABM and assign them to devices or users through your MDM. Licences are reclaimable — when someone leaves, you revoke and reassign rather than re-purchasing. Device-based assignment needs no Apple ID on the Mac at all.
MDM Protocol Mobile Device Management — Apple's management protocol. Your MDM server (Jamf, Kandji, Mosyle, Intune, Addigy, SimpleMDM, Workspace ONE) sends commands and configuration profiles to enrolled devices. The delivery mechanism for everything: settings, restrictions, apps, updates, and remote wipe.
Supervision Automatic via ADE An elevated management state. Macs enrolled via ADE are supervised automatically. Unlocks restrictions unavailable to manually-enrolled devices, and is required for Activation Lock bypass.
Managed Apple ID Org-owned An Apple ID created and controlled by your organisation in ABM. Can be federated with Google Workspace or Microsoft Entra ID so users sign in with existing credentials. You retain control. A personal Apple ID on a corporate Mac is a recurring source of Activation Lock and data-ownership problems.
UAMDM User-Approved User-Approved MDM — when a user manually enrols and approves it, granting a subset of management privileges. The fallback for existing Macs not purchased through ADE. Fewer capabilities and the user can remove it.
DDM Newest Declarative Device Management — Apple's newer model where the device proactively enforces a declared desired state and reports status, rather than waiting to be polled. Faster, more reliable, and where Apple is investing. Increasingly required for software-update enforcement.
APNs Push Apple Push Notification service — the transport your MDM uses to tell a device to check in. Your MDM's APNs certificate expires annually. Let it lapse and every device silently stops responding. Diarise the renewal.
Activation Lock Find My Ties a device to an Apple ID so it can't be erased and reused by anyone else. Enabled by Find My. The number-one cause of unusable returned hardware. See the section below.

Activation Lock — check it before it's a problem

The single fastest check in Mac administration

Hold ⌥ Option and click the Apple menu. "About This Mac" becomes System Information. Click it, and Activation Lock Status is listed right there under Hardware Overview. Takes three seconds and tells you immediately whether a returned or second-hand Mac is actually usable.

1

The GUI check — Option + Apple menu

Hold , click , choose System Information. Under Hardware → Hardware Overview, look for Activation Lock Status: Enabled / Disabled. Holding Option also changes several other menu items throughout macOS — it's a general "show me the advanced version" modifier worth knowing.

2

The Terminal check — scriptable across a fleet

The same value is available from the command line, which means you can collect it as an MDM extension attribute or inventory field across every Mac you manage.

system_profiler SPHardwareDataType | grep -i "activation lock"
3

Prevent it rather than fixing it

Deploy a configuration profile that disables Find My Mac on corporate devices, or restricts personal Apple ID sign-in entirely. A Mac that never gets Activation Locked never needs bypassing.

4

Bypass — only possible on supervised/ADE devices

If the Mac is in ABM and supervised, your MDM can issue an Activation Lock bypass code, or you can clear it from the device record in ABM. Retrieve the bypass code before wiping — erasing the device first can destroy your ability to clear the lock.

5

If it isn't in ABM, you're on Apple's mercy

An unsupervised, personally-Activation-Locked Mac requires the original Apple ID password, or a formal ownership-proof request to Apple with the original purchase invoice. There is no technical workaround — this is by design.

Management-state commands

Check Command Notes
MDM enrolment statusprofiles status -type enrollmentReports whether the Mac is enrolled and whether enrolment is DEP/ADE-based. The first thing to run on any "is this managed?" question.
List installed profilessudo profiles showEvery configuration profile currently applied, with payload detail.
Renew MDM profilesudo profiles renew -type enrollmentRe-triggers ADE enrolment on a device that should be managed but isn't. Frequently fixes a half-enrolled Mac.
macOS versionsw_versProduct name, version, and build. Scriptable for compliance reporting.
Serial numbersystem_profiler SPHardwareDataType | awk '/Serial/{print $4}'The key for matching a device to its ABM and MDM records.
SIP statuscsrutil statusSystem Integrity Protection. Should be enabled on any managed Mac. Disabling requires Recovery mode.
FileVault statusfdesetup statusDisk encryption state. sudo fdesetup list shows enabled users.
Gatekeeper statusspctl --statusWhether unsigned apps are blocked. Leave enabled outside of testing.
Secure boot & hardwaresystem_profiler SPiBridgeDataTypeReports the secure-boot level on T2 and Apple silicon Macs.
Available updatessoftwareupdate -lsudo softwareupdate -ia --restart installs everything and reboots. On Apple silicon, installs require a volume owner's credentials.
Logged-in user (in a script)stat -f%Su /dev/consoleThe reliable way to find the console user from a root-run script — whoami returns root and is a classic scripting bug.
Uptime & last bootuptime · last rebootUseful for update-compliance nagging — a 90-day uptime means patches aren't landing.

Network triage, in the order that actually finds the fault

Work outward from the machine: interface → local IP → gateway → DNS → internet. Most "the internet is broken" tickets resolve at the DNS step. These commands are all built into macOS — no installs required.

Showing results
Stage Command Example What it tells you
1. Interfacenetworksetup -listallnetworkservicesnetworksetup -listallnetworkservicesEvery configured network service in priority order. An asterisk marks a disabled one. Start here — the service name is the argument every other networksetup call needs.
1. Interfacenetworksetup -getinfonetworksetup -getinfo "Wi-Fi"IP, subnet mask, router, and MAC address for one service, in one readable block.
1. Interfaceifconfigifconfig en0Raw interface detail. en0 is usually Wi-Fi on laptops, Ethernet on desktops — verify rather than assume.
1. Interfaceipconfig getifaddripconfig getifaddr en0Just the IPv4 address, nothing else. Ideal inside scripts.
1. Interfacenetworksetup -setairportpowernetworksetup -setairportpower en0 offToggles Wi-Fi radio power. Off then on is a scriptable "turn it off and on again" for a stuck adapter.
2. Gatewayroute -n get defaultroute -n get defaultThe default gateway currently in use. Confirms which interface traffic is actually leaving by when several are up.
2. Gatewaypingping -c 5 192.168.1.1Ping the router first. -c 5 stops after five packets (macOS pings forever otherwise). Success here rules out the local network.
2. Gatewayarp -aarp -aLocal ARP table — every device the Mac has recently talked to on the LAN, with MAC addresses. Useful for spotting IP conflicts.
3. DNSnetworksetup -getdnsserversnetworksetup -getdnsservers "Wi-Fi"Configured DNS servers. "There aren't any DNS Servers set" means it's using DHCP-provided ones.
3. DNSnetworksetup -setdnsserverssudo networksetup -setdnsservers "Wi-Fi" 1.1.1.1 8.8.8.8Overrides DNS. Use Empty as the argument to revert to DHCP.
3. DNSdigdig example.com +shortResolves a name. dig @1.1.1.1 example.com tests a specific resolver, isolating whether your DNS server is the problem.
3. DNSscutil --dnsscutil --dnsmacOS's real resolver configuration, including per-domain resolvers pushed by a VPN. More authoritative than /etc/resolv.conf, which macOS largely ignores.
3. DNSFlush DNS cachesudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderBoth halves are required on modern macOS. The canonical fix after a DNS record change.
4. Pathtraceroutetraceroute -I example.comHop-by-hop path. -I uses ICMP, which often gets further than the default UDP probes. Asterisks mean a hop didn't reply — usually normal, not a fault.
4. Pathnc (netcat)nc -zv smtp.example.com 587Tests whether a specific TCP port is reachable. The definitive answer to "is the firewall blocking it?".
4. Pathcurl -Icurl -I https://example.comFetches HTTP headers only. Confirms TLS works and shows redirects and status codes.
5. Locallsof -isudo lsof -i -P | grep LISTENEvery process listening on a port. The tool for "what's already using 8080?".
5. Localnetstat -rnnetstat -rnFull routing table. Reveals VPN routes and unexpected static entries.
5. Localnettopnettop -m tcpLive per-process network usage. Finds whatever is saturating the link.
6. QualitynetworkQualitynetworkQuality -vApple's built-in speed test (macOS 12+). Reports up/down throughput and — more usefully — responsiveness under load, which exposes bufferbloat that a plain speed test hides.
6. Qualitywdutil infosudo wdutil infoDetailed Wi-Fi diagnostics: SSID, BSSID, channel, RSSI, noise, and transmit rate. Replaces the old airport binary, which Apple has deprecated.
6. QualityWireless Diagnostics⌥ + click Wi-Fi menu → Open Wireless DiagnosticsThe GUI counterpart. Its Window → Scan view shows every nearby network with channel and signal — the fastest way to spot channel congestion.
A repeatable triage sequence
  • 1. ipconfig getifaddr en0 — is there an IP at all? A 169.254.x.x address means DHCP failed.
  • 2. ping -c 3 $(route -n get default | awk '/gateway/{print $2}') — can you reach the router?
  • 3. ping -c 3 1.1.1.1 — can you reach the internet by IP? Success here plus failure at step 4 means DNS.
  • 4. dig example.com +short — does name resolution work?
  • 5. curl -I https://example.com — does TLS and HTTP work end to end?
  • Each step isolates one layer. Stopping at the first failure tells you exactly which one to fix.

Zero-touch onboarding: sealed box to working Mac, untouched

The goal is a Mac that a new hire unboxes, connects to Wi-Fi, signs into, and finds fully configured — right apps, right Dock, right settings, right security posture. Everything below is the open-source path; a commercial MDM automates the same steps through its own tooling.

1

Get the hardware into Apple Business Manager

Buy through Apple or an authorised reseller with your ABM Customer Number attached, and devices appear in ABM automatically. Assign them to your MDM server in ABM → Devices. Existing Macs can be added via Apple Configurator, but that requires physically touching each one.

2

Build the enrolment experience

In your MDM, configure the ADE profile: which Setup Assistant panes to skip (Siri, Screen Time, Apple ID, Analytics), whether enrolment is mandatory and non-removable, and whether the first user is admin or standard. Standard is the correct default; grant admin deliberately.

3

Push the security baseline immediately

FileVault (with escrowed recovery key), firewall on, screen-lock timeout, Gatekeeper enforced, SIP left enabled. These go out as configuration profiles at enrolment so a Mac is never briefly non-compliant.

fdesetup status · csrutil status · spctl --status
4

Install the app set automatically

App Store apps via VPP/Apps and Books (device-assigned, so no Apple ID needed). Everything else via Munki, Installomator, or your MDM's own packaging. See the tooling section below.

5

Customise the Dock with dockutil

A default Dock full of GarageBand and Podcasts signals an unmanaged machine. dockutil scripts it. Run it as the logged-in user, not root — the Dock is a per-user preference, and this is the single most common mistake in Dock scripts.

dockutil --remove all --no-restart dockutil --add /Applications/Slack.app --no-restart dockutil --add /System/Applications/Mail.app --no-restart killall Dock
6

Give the user visible feedback

A Mac that sits apparently idle for twenty minutes while provisioning gets rebooted by an impatient user. swiftDialog (or your MDM's equivalent, such as Jamf's Setup Manager) shows a branded progress window listing each step as it completes.

7

Enforce updates from day one

Use Declarative Device Management update enforcement, or Nudge for a user-friendly escalating prompt. Deferred-forever updates are how fleets end up years behind.

The open-source Mac admin toolchain

Tool What it does Key commands
dockutil Scriptable Dock management — add, remove, move, and reorder Dock items without a GUI. The standard tool for setting a consistent Dock at enrolment. dockutil --add /Applications/Safari.app --position 2
dockutil --remove 'Podcasts' --no-restart
dockutil --add ~/Downloads --view grid --display folder
Munki Open-source managed software installation. A repo of packages plus per-machine manifests declares what each Mac should have; clients check in and converge. Includes Managed Software Center, a self-service app catalogue for users. sudo managedsoftwareupdate --checkonly
sudo managedsoftwareupdate --installonly
munkiimport /path/to/App.dmg
makecatalogs /path/to/repo
AutoPkg Automates downloading, verifying, and packaging third-party software. Recipes describe how to fetch and package an app; running them keeps your repo current without manual downloads. autopkg repo-add recipes
autopkg run -v Firefox.munki
autopkg search googlechrome
AutoPkgr A GUI wrapper around AutoPkg from The Linde Group. Handles scheduling, repo selection, notifications (email/Slack), and integration with Munki or Jamf — removes the need to hand-roll cron jobs. Configured through its interface: pick recipes, set a schedule, point it at your Munki repo, and configure notifications.
Installomator A single shell script that downloads and installs the current version of hundreds of common Mac apps by label. Ideal when you want app installs without running a whole Munki repo. ./Installomator.sh googlechrome
./Installomator.sh slack NOTIFY=success
Nudge Escalating, user-friendly prompts to install macOS updates by a deadline. Far more effective than silent policies users never see. Driven by a JSON/plist configuration deployed via MDM specifying target OS version and deadline.
swiftDialog Native-looking dialogs and progress windows driven from a shell script. The standard way to give users visible feedback during provisioning. dialog --title "Setting up your Mac" --progress 100
Homebrew Package manager for CLI tools and (via Cask) GUI apps. Excellent for developer machines; use with care for fleet-wide deployment since it's user-scoped and unversioned by default. brew install --cask google-chrome
brew bundle dump --file=~/Brewfile
mas-cli Mac App Store from the command line. Useful for scripted installs of App Store apps on a machine already signed in. mas list · mas install 497799835

A real Dock-configuration script

Run it as the user, not as root

MDM scripts execute as root, but the Dock is a per-user preference. Running dockutil directly as root either fails silently or configures root's own Dock. The fix is to determine the console user and drop privileges with sudo -u.

#!/bin/bash # Configure the Dock for the currently logged-in user. # Deploy via MDM at enrolment; safe to re-run. DOCKUTIL="/usr/local/bin/dockutil" CURRENT_USER=$(stat -f%Su /dev/console) USER_HOME=$(dscl . -read /Users/"$CURRENT_USER" NFSHomeDirectory | awk '{print $2}') # Bail out if nobody is logged in, or at the login window. if [ "$CURRENT_USER" = "root" ] || [ -z "$CURRENT_USER" ]; then echo "No console user; exiting." exit 0 fi run_dockutil() { sudo -u "$CURRENT_USER" "$DOCKUTIL" "$@" "$USER_HOME" } # Start from a clean Dock, then add in the order we want. run_dockutil --remove all --no-restart for app in \ "/System/Applications/Launchpad.app" \ "/Applications/Google Chrome.app" \ "/System/Applications/Mail.app" \ "/System/Applications/Calendar.app" \ "/Applications/Slack.app" \ "/System/Applications/System Settings.app" do [ -e "$app" ] && run_dockutil --add "$app" --no-restart done # Downloads as a grid-view stack, sorted newest first. run_dockutil --add "$USER_HOME/Downloads" --view grid --display folder --sort dateadded --no-restart killall Dock exit 0

100 things macOS does that most people never discover

Every entry below is a real, current macOS capability — no third-party software required unless stated. Use the search box to filter by keyword, or scan by category. The ones marked Admin are especially useful when supporting other people's Macs.

Showing results
Category Tip How Why it's useful
FinderShow the path bar⌥⌘PDisplays the full folder path at the bottom of every window. You can drag files onto any path component to move them there.
FinderCopy a file's full pathSelect → ⌥⌘CPuts the POSIX path on the clipboard, ready to paste into Terminal or a script.
FinderGo to a folder by typing⇧⌘GJump straight to /var/log or ~/Library. Tab completes as you type.
FinderReveal the hidden Library folderHold while opening the Go menu~/Library is hidden by default and is where most app support files, preferences, and caches live.
FinderToggle hidden files⇧⌘.Shows dotfiles instantly, no Terminal command or Finder restart needed.
FinderRename many files at onceSelect multiple → right-click → RenameBuilt-in batch rename with find-and-replace, add-text, and sequential numbering. No third-party app required.
FinderCut and paste files⌘C then ⌥⌘VmacOS has no ⌘X for files — Option on paste turns a copy into a move.
FinderMerge folders instead of replacingHold while dragging a folder onto one with the same nameOffers "Merge" rather than only "Replace" — prevents accidentally destroying a folder's contents.
FinderBatch-create a folder from a selectionSelect files → right-click → New Folder with SelectionCreates the folder and moves everything in, in one action.
FinderQuick Look anythingSelect → SpacePreviews documents, images, video, and archives without opening an app. Press Space again to close.
FinderQuick Look full screen⌥SpaceFull-screen slideshow across every selected file. Excellent for triaging photos.
FinderEdit inside Quick LookSpace → Markup iconCrop, rotate, annotate, and sign PDFs without ever opening Preview.
FinderSmart FoldersFile → New Smart FolderA saved search that stays current — e.g. every PDF modified this week, across the whole disk.
FinderAdd a folder to the sidebarDrag it there, or ⌃⌘TOne-click access to project folders from every save and open dialog too.
FinderColumn view for deep trees⌘3The fastest way to navigate nested folders and see where you are. ⌘1/2/4 switch to icon, list, and gallery.
ScreenshotsCapture a selected area⇧⌘4Drag to select. Press Space mid-drag to switch to window-capture mode.
ScreenshotsCapture a window cleanly⇧⌘4 then SpaceCaptures just that window with a drop shadow. Hold when clicking to omit the shadow.
ScreenshotsScreenshot to clipboardAdd — e.g. ⌃⇧⌘4Copies instead of writing a file to the Desktop. Paste straight into Slack or a document.
ScreenshotsThe screenshot toolbar⇧⌘5Screen recording, timed capture, and — importantly — the option to change where screenshots are saved.
ScreenshotsRecord part of the screen⇧⌘5 → Record Selected PortionBuilt-in screen recording with optional microphone audio — no software needed for a quick demo.
ScreenshotsChange the default save location⇧⌘5 → Options → Other LocationStops the Desktop filling with screenshots. A dedicated ~/Screenshots folder is the usual fix.
ScreenshotsChange the screenshot file formatdefaults write com.apple.screencapture type jpg; killall SystemUIServerPNG by default. JPG or HEIC produces far smaller files when you're capturing a lot.
ScreenshotsDisable the screenshot thumbnail⇧⌘5 → Options → uncheck Show Floating ThumbnailThe thumbnail delays the file being written, which is irritating when scripting or capturing rapidly.
TextDelete forwardfn + DeleteMac keyboards have no dedicated forward-delete key on most laptops.
TextMove by word / line⌥←→ · ⌘←→Option moves a word at a time; Command jumps to line start/end. Add Shift to select as you go.
TextPaste and match style⌥⇧⌘VStrips the source formatting. Works in almost every Mac app.
TextEmoji and symbol picker⌃⌘SpaceSearchable emoji, arrows, and technical symbols in any text field.
TextAccented charactersHold a letter keyHold "e" for é è ê ë, then press the number shown or click.
TextText replacement shortcutsSystem Settings → Keyboard → Text ReplacementsType @@ to expand your email address. Syncs across all your Apple devices via iCloud.
TextDictation anywherePress the mic key, or double-tap On-device dictation in any text field. Say "new line" and punctuation names to format as you speak.
TextLook up a word instantlyThree-finger tap, or ⌃⌘DDictionary, thesaurus, and Wikipedia inline over any selected word.
TextSpeak selected textSystem Settings → Accessibility → Spoken ContentAssign a key to have the Mac read a selection aloud — genuinely useful for proofreading.
TextLive Text in imagesSelect text directly inside any photomacOS OCRs images automatically. Copy a serial number straight out of a screenshot.
WindowsTile windows side by sideHover the green button, or drag to a screen edgemacOS Sequoia added proper drag-to-edge tiling; earlier versions use the green-button menu.
WindowsHide everything else⌥⌘HHides all apps except the current one. The fastest possible focus reset.
WindowsCycle windows within an app⌘`⌘Tab switches apps; backtick switches between windows of the same app.
WindowsQuit from the app switcher⌘Tab, then Q while holding ⌘Close several apps rapidly without switching to each. H hides instead.
WindowsMission Control⌃↑ or three-finger swipe upEvery open window at once. Drag a window to the top strip to create a new Desktop space.
WindowsSwitch between spaces⌃←→Assign an app to a specific space by right-clicking its Dock icon → Options → Assign To.
WindowsApp Exposé⌃↓Shows every window of the current app only — much less overwhelming than full Mission Control.
WindowsShow the Desktopfn + F11 or spread four fingersTemporarily pushes every window aside.
WindowsResize from the centreHold while dragging a window edgeExpands both sides at once. Add to preserve the aspect ratio.
WindowsMove a background window without focusing itHold and drag itRearrange windows behind your current one without losing your place.
SpotlightCalculate and convert⌘Space then typeType 25 GBP in USD, 140 lbs in kg, or any arithmetic. Instant answer, no app.
SpotlightReveal in Finder from Spotlight + Enter on a resultOpens the enclosing folder instead of opening the file.
SpotlightSee a result's pathHold while a result is highlightedShows the full path at the bottom — handy when several files share a name.
SpotlightSearch by kind and datekind:pdf date:todaySpotlight supports structured queries: kind:, date:, author:, name:.
SpotlightSpotlight from the command linemdfind -name "invoice"Same index, scriptable. mdls file dumps all metadata for one file.
SpotlightRebuild the Spotlight indexsudo mdutil -E /The fix when search stops finding obvious files. Reindexing takes a while.
SpotlightExclude a folder from indexingSystem Settings → Spotlight → Search PrivacySpeeds up indexing and keeps sensitive or huge build folders out of results.
TerminalDrag a file into TerminalDrag from Finder onto the Terminal windowInserts the correctly-escaped full path. Far safer than typing paths with spaces.
TerminalOpen the current folder in TerminalRight-click folder → Services → New Terminal at FolderEnable it in System Settings → Keyboard → Keyboard Shortcuts → Services if it isn't showing.
TerminalOpen a file with any appopen -a "Visual Studio Code" file.txtopen . opens the current directory in Finder — the reverse of the previous tip.
TerminalClipboard from the shellcat file.txt | pbcopypbpaste goes the other way. Excellent for piping command output straight into a document.
TerminalKeep the Mac awakecaffeinate -d -t 3600Prevents sleep for an hour. caffeinate -w <pid> keeps it awake until a specific process finishes.
TerminalSay somethingsay "Build finished"Append it to a long command to get an audible notification when it completes.
TerminalRead and write any preferencedefaults read com.apple.dockEvery macOS preference is a plist. defaults write changes settings that have no GUI toggle.
TerminalShow the full file path in the Finder titledefaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall FinderTurns every Finder window title into its full path.
TerminalSpeed up the Dock auto-hidedefaults write com.apple.dock autohide-time-modifier -float 0.15; killall DockRemoves the animation delay. defaults delete the key to revert.
TerminalFind what's using a portsudo lsof -i :3000The answer to "address already in use".
TerminalWatch a command repeatedlywhile true; do clear; command; sleep 2; donemacOS has no watch by default — this is the built-in equivalent.
TerminalCreate a bootable installersudo /Applications/Install*.app/Contents/Resources/createinstallmedia --volume /Volumes/USBThe supported way to build macOS install media from a downloaded installer.
TerminalCompress and expand archivesditto -c -k --sequesterRsrc src dest.zipditto preserves macOS metadata and resource forks that plain zip discards.
TerminalCheck power and battery healthpmset -g batt · system_profiler SPPowerDataTypeCycle count and condition without opening System Information.
TerminalSee what's draining the batterypmset -g assertionsLists exactly which process is preventing sleep or display dimming.
SystemOption-click menu bar iconsHold and click Wi-Fi, Bluetooth, Volume, or BatteryReveals hidden detail: Wi-Fi shows channel, RSSI and transmit rate; Volume shows input/output device pickers.
SystemRearrange or remove menu bar iconsHold and dragDrag an icon off the bar to remove it entirely.
SystemForce quit quickly⌥⌘EscOr hold and right-click the Dock icon → Force Quit.
SystemSleep the display immediately⌃⇧ Power (or ⌃⇧ Eject)Locks the screen without putting the whole machine to sleep. ⌃⌘Q locks too.
SystemChange any app's keyboard shortcutSystem Settings → Keyboard → Keyboard Shortcuts → App ShortcutsType the menu item's exact name and assign a key. Works for any app's menu command.
SystemStorage managementApple menu → → System Settings → General → StorageShows what's consuming space by category, with tools to offload and find large files.
SystemHot cornersSystem Settings → Desktop & Dock → Hot CornersThrow the pointer into a corner to lock the screen, show the desktop, or start the screensaver.
SystemStacks tidy the DesktopRight-click the Desktop → Use StacksGroups Desktop clutter by kind or date automatically.
SystemSign a PDF with your real signaturePreview → Markup → SignCapture a signature with the trackpad or camera once; reuse it on any PDF thereafter.
SystemCombine PDFsPreview → show thumbnails → drag one PDF into anotherMerge, reorder, and delete pages without any third-party PDF tool.
SystemReduce PDF file sizePreview → File → Export → Quartz Filter → Reduce File SizeBuilt-in compression for oversized PDFs.
SystemBatch-convert imagesSelect in Finder → right-click → Quick Actions → Convert ImageConverts many images to JPEG/PNG/HEIF at a chosen size, with no app.
SystemAutomator and ShortcutsOpen Shortcuts.appBuild a Quick Action once and run it from the Finder right-click menu forever after.
SecurityCheck FileVault is actually onfdesetup statusDisk encryption is the single most important protection for a laptop that might be lost.
SecurityVerify SIP is enabledcsrutil statusSystem Integrity Protection. If a guide tells you to disable it, be very sure why.
SecuritySee which apps have which permissionsSystem Settings → Privacy & SecurityAudit camera, microphone, screen recording, and Full Disk Access grants. Review this periodically.
SecurityCheck an app's signaturecodesign -dv --verbose=4 /Applications/App.appConfirms who actually signed a binary — useful when an app's provenance is uncertain.
SecurityVerify notarizationspctl -a -vvv /Applications/App.appShows whether Gatekeeper accepts the app and why.
SecurityRemove the quarantine flagxattr -d com.apple.quarantine fileClears the "downloaded from the internet" attribute. Only do this for software you genuinely trust.
SecurityLock a folder with an encrypted disk imageDisk Utility → File → New Image → Image from Folder → AES-256Creates a password-protected .dmg. Built-in encryption for a specific set of files.
SecuritySecurely erase free spacediskutil secureErase freespace 1 /Volumes/DriveFor spinning disks. Unnecessary and discouraged on SSDs, where TRIM and FileVault handle it.
SecurityFind My and Activation Lock state + → System InformationThe three-second check before accepting any second-hand or returned Mac. See the Mac Admin tab.
SecurityLockdown ModeSystem Settings → Privacy & Security → Lockdown ModeExtreme protection for people at risk of targeted attack. It deliberately breaks functionality — not a general recommendation.
StartupApple silicon RecoveryHold the power button until "Loading startup options"Completely different from Intel. One button, held — not ⌘R.
StartupIntel Recovery⌘R at boot⌥⌘R gets the latest compatible macOS; ⇧⌥⌘R the originally-shipped version.
StartupSafe ModeApple silicon: power button → volume-up. Intel: hold Loads a minimal system and clears certain caches. The first diagnostic step for boot problems.
StartupStartup Manager (pick a boot disk)Hold at boot (Intel)On Apple silicon the same choice appears within the power-button startup options screen.
StartupReset NVRAM⌥⌘PR at boot (Intel only)Apple silicon resets it automatically as needed — the shortcut does nothing there.
StartupErase All Content and SettingsSystem Settings → General → Transfer or ResetThe correct modern way to wipe a Mac for redeployment. Much faster and safer than reinstalling from Recovery.
StartupBoot verbosely to see what's happeningHold ⌘V at bootShows kernel messages instead of the Apple logo — invaluable when a Mac hangs during startup.
StartupApple DiagnosticsHold D at bootBuilt-in hardware test that returns a reference code you can look up with Apple.
StartupManage login itemsSystem Settings → General → Login ItemsAlso lists background agents installed by apps — a common cause of a slow-feeling Mac.
StartupTarget Disk / Share Disk modeApple silicon: Recovery → Utilities → Share Disk. Intel: hold TMounts one Mac's drive on another over Thunderbolt — the fastest way to rescue data from a Mac that won't boot.
AdminSee every process by CPUtop -o cpuOr Activity Monitor. -o rsize sorts by memory instead.
AdminList all usersdscl . list /Users | grep -v '^_'Filters out the system accounts that clutter the raw list.
AdminCheck admin group membershipdscl . -read /Groups/admin GroupMembershipConfirms exactly who has administrator rights on the machine.
AdminRead unified logslog show --predicate 'eventMessage contains "error"' --last 1hlog stream follows live. This replaced the old console log files entirely.
AdminFull hardware and software reportsystem_profiler -detailLevel mini > report.txtA complete inventory snapshot to attach to a support ticket.
AdminInstall updates from the CLIsudo softwareupdate -ia --restartScriptable patching. On Apple silicon, OS updates need a volume owner's credentials.
AdminVerify and repair a diskdiskutil verifyVolume /Repairing the boot volume must be done from Recovery, not while booted from it.
AdminManage launch agents and daemonslaunchctl list | grep -v appleFinds third-party background processes. They live in ~/Library/LaunchAgents and /Library/Launch*.
AdminCheck the Mac's model identifiersysctl hw.modelReturns e.g. Mac14,9 — the identifier Apple's compatibility lists actually use.
AdminDetect Apple silicon vs Intel in a script[ "$(uname -m)" = "arm64" ] && echo "Apple silicon"Essential branching in any deployment script, since paths and Rosetta requirements differ.

Mac admin tools & repositories

Official Apple documentation