Intro
In this article I will consolidate several useful shortcuts for Mac
Mac Shortcuts
Startup
Action |
Shortcut |
Boot without automatic login |
Left shift (Press and hold when macOS progress indicator appears) |
Boot in Safe Mode (Intel) |
Shift (Press and hold) |
Boot in Safe Mode (Apple Silicon) |
Power (Press and hold), then select a volume, then hold Shift while clicking Continue in Safe Mode |
Boot in Single User Mode (Intel, unavailable in macOS Mojave and later) |
Cmd + S |
Boot in Verbose Mode (Intel) |
Cmd + V |
Boot in Target Disk Mode (Intel) |
T |
Boot from a NetBoot network server |
N |
Boot to Startup Manager (Intel) |
Option |
Boot to Startup Manager (Apple Silicon) |
Power |
Load macOS Recovery (Intel) |
Cmd + R |
Load macOS Recovery over the internet (Intel) |
Option + Cmd + R |
Load macOS Recovery (Apple Silicon) |
Power, then select Options, then click Continue |
Enter Apple Diagnostics (Intel) |
D |
Enter Apple Diagnostics (Apple Silicon) |
Cmd + D |
Load Apple Diagnostics over the internet |
Option + D |
Reset NVRAM or PRAM (Intel, unnecessary on Apple Silicon Macs) |
Option + Cmd + P + R |
Eject removable media |
F12 |
Finder
Action |
Shortcut |
Rename selected file or folder |
Enter |
Duplicate selected file or folder |
Cmd + D |
Create a new folder |
Shift + Cmd + N |
Create a new Smart Folder |
Option + Cmd + N |
Create a new folder from selected file(s) |
Control + Cmd + N |
Make an alias for the item |
Control + Cmd + A |
Move selected item(s) to the Trash |
Cmd + Delete |
Delete selected item(s) immediately |
Option + Cmd + Delete |
Empty the Trash |
Cmd + Shift + Delete |
Empty the Trash immediately |
Option + Cmd + Shift + Delete |
Preview selected file(s) with Quick Look in a window |
Space |
Preview selected file(s) with Quick Look in fullscreen mode |
Option + Space |
Start a slideshow using selected item(s) |
Control + Space |
Go to folder |
Cmd + Shift + G |
Connect to server |
Cmd + K |
Move up one folder |
Cmd + Up arrow |
Move down one folder |
Cmd + Down arrow |
Eject selected volume |
Cmd + E |
Get info |
Cmd + I |
Show Attributes Inspector |
Option + Cmd + I |
Open a new Finder window |
Cmd + N |
Close active Finder window |
Shift + Cmd + N |
Cycle through windows |
Cmd + < |
Open a new Finder tab |
Cmd + T |
Close active Finder tab |
Cmd + W |
View options |
Cmd + J |
Icon view |
Cmd + 1 |
List view |
Cmd + 2 |
Column view |
Cmd + 3 |
Gallery view |
Cmd + 4 |
Hide all Finder windows |
Cmd + H |
Hide all other windows except Finder |
Option + Cmd + H |
Search |
Cmd + F |
Open a Computer window |
Cmd + Shift + C |
Open the Recents folder |
Cmd + Shift + F |
Open the Documents folder |
Cmd + Shift + O |
Open the Desktop folder |
Cmd + Shift + D |
Open the Downloads folder |
Option + Cmd + L |
Open your account’s home folder |
Cmd + Shift + H |
Open an AirDrop window |
Cmd + Shift + R |
Open the network browser |
Cmd + Shift + K |
Open your iCloud Drive |
Cmd + Shift + I |
Open your public shared folder |
Cmd + Shift + S |
Open the Applications folder |
Cmd + Shift + A |
Open the Utilities folder |
Cmd + Shift + U |
Show/hide the Finder sidebar |
Cmd + Control + S |
Show/hide the Path Bar |
Option + Cmd + P |
Show/hide the Status Bar |
Option + Cmd + / (Slash) |
Document
Action |
Shortcut |
Bold text |
Cmd + B |
Italicize text |
Cmd + I |
Underline text |
Cmd + U |
Scroll one page up |
Fn + Up arrow |
Scroll one page down |
Fn + Down arrow |
Jump to the beginning of the document |
Fn + Left arrow |
Jump to the end of the document |
Fn + Right arrow |
General
Action |
Shortcut |
Display the macOS screenshotting tools |
Cmd + 5 |
Take a screenshot of the entire screen |
Shift + Cmd + 3 |
Take a screenshot of a portion of the screen |
Shift + Cmd + 4 (then hold Space to drag the selection, if needed) |
Take a screenshot of a specific window or menu |
Cmd + Shift + 4, then Space |
Select all |
Cmd + A |
Select multiple non-contiguous item(s) |
Cmd + Left click |
Select multiple adjacent item(s) |
Shift + Left click |
Hide current window |
Cmd + H |
Hide all other windows |
Option + Cmd + H |
Minimize the current window |
Cmd + M |
Minimize all windows |
Option + Cmd + M |
Close current window |
Cmd + W |
Close all windows |
Option + Cmd + W |
Open |
Cmd + O |
Save |
Cmd + S |
Print |
Cmd + P |
Find |
Cmd + F |
Find and replace |
Option + Cmd + F |
Copy |
Cmd + C |
Paste |
Cmd + V |
Paste and delete original items |
Option + Cmd + V |
Paste and match style |
Shift + Option + Cmd + V |
Undo |
Cmd + Z |
Redo |
Shift + Cmd + Z |
Zoom in |
Cmd + + (Plus) |
Zoom out |
Cmd + - (Minus) |
Access in-app help |
Cmd + ? |
Open preferences for the current app |
Cmd + , (Comma) |
Open Spotlight search |
Cmd + Space |
Hide/show the Dock |
Option + Cmd + D |
Show the Character Viewer |
Control + Cmd + Space |
Show the emoji picker |
Fn |
Show desktop icons as stacks |
Cmd + Control + 0 |
Switch the current app to fullscreen mode |
Control + Cmd + F |
Switch to the next open app |
Cmd + Tab |
Switch to the previous open app |
Shift + Cmd + Tab |
Quit the selected app in the app switcher |
Cmd + Shift, then Q |
Force quit apps |
Option + Cmd + Esc |
Switch to the next window in the current app |
Cmd + ~ (Tilde) |
Lock the screen |
Cmd + Control + Q |
Log out |
Shift + Cmd + Q |
Log out without confirmation |
Option + Shift + Cmd + Q |
Put display(s) to sleep |
Shift + Control + Eject |
Put your computer to sleep |
Option + Cmd + Eject |
Quit all apps and restart |
Control + Cmd + Eject |
Quit all apps and shut down |
Control + Option + Cmd + Power |
Choose from Sleep, Restart, and Shutdown options |
Control + Eject |
The Mac Terminal Cheat Sheet
Keyboard Shortcuts
COMMAND |
ACTION |
Tab |
Auto-complete file and folder names |
Cmd+ F |
Find instances of specific text in the Terminal |
Ctrl + A |
Go to the beginning of the line you’re currently typing on |
Cmd + A |
Select everything in the Terminal |
Cmd + P |
Print Terminal inputs and outputs |
Ctrl + E |
Go to the end of the line you’re currently typing on |
Ctrl + U |
Clear the line before the cursor |
Ctrl + K |
Clear the line after the cursor |
Ctrl + W |
Delete the word before the cursor |
Ctrl + T |
Swap the last two characters before the cursor |
Esc + T |
Swap the last two words before the cursor |
Ctrl + L |
Clear the screen |
Ctrl + C |
Kill whatever you’re running |
Ctrl + D |
Exit the current shell |
Option + → |
Move the cursor one word forward |
Option + ← |
Move the cursor one word backward |
Ctrl + F |
Move the cursor one character forward |
Ctrl + B |
Move the cursor one character backward |
Ctrl + Y |
Paste whatever was cut by the last command |
Ctrl + Z |
Puts whatever you’re running into a suspended background process |
Ctrl + _ |
Undo the last command |
Option + Shift + Cmd + C |
Copy plain text |
Shift + Cmd + V |
Paste the selection |
exit |
End a shell session |
Basics
COMMAND |
ACTION |
/ (Forward Slash) |
Top-level directory |
. (Single Period) |
Current directory |
.. (Double Period) |
Parent directory |
~ (Tilde) |
Home directory |
sudo [command] |
Run command with the security privileges of the super user |
nano [file] |
Opens the Terminal editor |
open [file] |
Opens a file |
[command] -h |
Get help about a command |
man [command] |
Show the help manual of the command |
Change Directory
COMMAND |
ACTION |
cd |
Home directory |
cd [folder] |
Change directory, e.g. cd Documents |
cd ~ |
Home directory |
cd / |
Root of the drive |
cd - |
Previous directory or folder you last browsed |
pwd |
Show your working directory |
cd.. |
Move up to the parent directory |
cd../.. |
Move up two levels |
List Directory Contents
COMMAND |
ACTION |
ls |
Display the name of files and subdirectories in the directory |
ls -C |
Force multi-column output of the listing |
ls -a |
List all entries including those with .(period) and ..(double period) |
ls -1 |
Output the list of files in one entry per line format |
ls -F |
Display a / (slash) immediately after each path that is a directory, * (asterisk) after executable programs or scripts, and @ after a symbolic link |
ls -S |
Sort files or entries by size |
ls -l |
List in a long format. Includes file mode, owner and group name, date and time file was modified, pathname, and more |
ls -l / |
List of the file system from root with symbolic links |
ls -lt |
List the files sorted by time modified (most recent first) |
ls -lh |
Long listing with human readable file sizes in KB, MB, or GB |
ls -lo |
List the file names with size, owner, and flags |
ls -la |
List detailed directory contents, including hidden files |
File Size and Disk Space
COMMAND |
ACTION |
du |
List usage for each subdirectory and its contents |
du -sh [folder] |
Human readable output of all files in a directory |
du -s |
Display an entry for each specified file |
df -h |
Calculate your system’s free disk space |
df -H |
Calculate free disk space in powers of 1,000 (as opposed to 1,024) |
File and Directory Management
COMMAND |
ACTION |
mkdir dir |
Create a new folder named dir |
mkdir -p dir/dir |
Create nested folders |
mkdir dir1 dir2 dir3 |
Create several folders at once |
mkdir “dir” |
Create a folder with a space in the filename |
rmdir dir |
Delete a folder (only works on empty folders) |
rm -R dir |
Delete a folder and its contents |
touch file |
Create a new file without any extension |
cp file dir |
Copy a file to the folder |
cp file newfile |
Copy a file to the current folder |
cp file~/dir/newfile |
Copy a file to the folder and rename the copied file |
cp -R dir <”new dir”> |
Copy a folder to a new folder with spaces in the filename |
cp -i file dir |
Prompts you before copying a file with a warning overwrite message |
cp file1 file2 file3/Users/dir |
Copy multiple files to a folder |
ditto -V [folder path][new folder] |
Copy the contents of a folder to a new folder. Here “-V” prints a line of status for every file copied |
rm file |
Delete a file (This deletes the file permanently; use it with caution.) |
rm -i file |
Delete a file only when you give confirmation |
rm -f file |
Force removal without confirmation |
rm file1 file2 file3 |
Delete multiple files without any confirmation |
mv file newfilename |
Move/rename |
mv file dir |
Move a file to the folder, possibly by overwriting an existing file |
mv -i file dir |
Optional -i flag to warn you before overwriting the file |
mv *.png ~/dir |
Move all PNG files from the current folder to a different folder |
Command History
COMMAND |
ACTION |
Ctrl + R |
Search through previously used commands |
history n |
Shows the previous commands you’ve typed. Add a number to limit to the last n items |
![value] |
Execute the last command typed that starts with a value |
!! |
Execute the last command typed |
Permissions
COMMAND |
ACTION |
ls -ld |
Display the default permission for a home directory |
ls -ld/dir |
Display the read, write, and access permission of a particular folder |
chmod 755 file |
Change the permission of a file to 755 |
chmod -R 600 dir |
Change the permission of a folder (and its contents) to 600 |
chown user:group file |
Change the ownership of a file to user and group. Add -R to include folder contents |
Processes
COMMAND |
ACTION |
ps -ax |
Output currently running processes. Here, a shows processes from all users and x shows processes that are not connected with Terminal |
ps -aux |
Shows all the processes with %cpu, %mem, page in, PID, and command |
top |
Display live information about currently running processes |
top -ocpu -s 5 |
Display processes sorted by CPU usage, updating every 5 seconds |
top -o rsize |
Sort top by memory usage |
kill PID |
Quit process with ID PID. You’ll see PID as a column in the Activity Monitor |
Network
COMMAND |
ACTION |
ping host |
Ping the host and display the status |
whois domain |
Output whois info for a domain |
curl -O url/to/file |
Download a file via HTTP, HTTPS, or FTP |
ssh username@host |
Establish SSH connection to host with user username |
scp fileuser@host:/remote/path |
Copy file to a remote host |
arp -a |
View a list of all devices on your local network. It will show you the IP and MAC address of all the devices |
ifconfig en0 |
View your device IP and MAC address |
traceroute [hostname] |
Identify the path and the hops traversed by the packets from your device to the destination address |
Homebrew
COMMAND |
ACTION |
brew doctor |
Check brew for potential problems |
brew help |
List of useful homebrew formula and cask commands |
brew install formula |
Install a formula or cask |
brew uninstall formula |
Uninstall a formula or cask |
brew list –formula |
List only installed formulas |
brew list –cask |
List only installed cask |
brew deps formula |
List all the dependencies of a formula or cask |
brew search text |
Search formula or cask through regex |
brew upgrade formula |
Upgrade the formula or cask |
brew outdated formula |
Search for outdated formula or cask |
brew outdated –formula |
Search for outdated formula |
brew outdated –cask |
Search for outdated cask |
brew pin [installed_formula] |
Pin a formula from getting upgraded |
brew unpin [installed_formula] |
Unpin to upgrade a package |
brew cleanup |
Remove stale lock files and outdated packages for all formulas and casks |
Environment
COMMAND |
ACTION |
printenv |
Display a list of currently set environment variables. Also tells you which shell you’re using |
$echo |
Ask Terminal to print something and show it to you |
echo $PATH |
Check the value of the PATH variable, which stores a list of directories with executable files |
echo $PATH >path.txt |
Export the path directory to a text file |
export PATH=$PATH:absolute/path to/program/ |
Execute a program via Terminal only in your current session. If you use a program regularly, add the path to the shell configuration file. |
Search
COMMAND |
ACTION |
find dir -name “file” |
Find all files named file inside dir. Use wildcards (*) to search for parts of filenames |
find dir -size +size |
Find all files larger than size in dir |
find dir -size -size |
Find all files less than size in dir |
grep “text” file |
Output all occurrences of text inside file (add -i for case insensitivity) |
grep -rl “text” dir |
Search for all files containing text inside dir |
Output
COMMAND |
ACTION |
cat file |
Output the content of file |
less file |
Output the contents of file using the less command that supports pagination and more |
head file |
Output the first 10 lines of file |
cmd < file |
Use file contents as input to cmd |
cmd > > file |
Appends the output of cmd to file |
cmd > file |
Direct the output of cmd into file |
Terminal Windows
COMMAND |
ACTION |
Cmd + N |
Open a new Terminal window |
Cmd + T |
Open a new Terminal tab |
Cmd + D |
Split the Terminal window into two panes |
Cmd + tab number |
Switch from one Terminal tab to another |
Cmd + Page Up |
Scroll one page up the Terminal window |
Cmd + Page Down |
Scroll one page down the Terminal window |
Cmd + W |
Close a Terminal tab |
Option + Shift + Cmd + W |
Close all Terminal tabs |
Mac Commands
The following page provides information on available Mac commands:
Reference