The Mac Terminal Commands Cheat Sheet
These will work in the Mac Terminal for any version of Mac OS, that includes the default Terminal app and third party terminal applications like iTerm as well. Technically, these should work in Linux and other Bash shells too, but obviously we’re focusing on the Mac here.
Shortcuts
Key/Command
Description
Ctrl + A
Go to the beginning of the line you are currently typing on. This also works for most text input fields system wide. Netbeans being one exception
Ctrl + E
Go to the end of the line you are currently typing on. This also works for most text input fields system wide. Netbeans being one exception
Ctrl + L
Clears the Screen
Cmd + K
Clears the Screen
Ctrl + U
Cut everything backwards to beginning of line
Ctrl + K
Cut everything forward to end of line
Ctrl + W
Cut one word backwards using white space as delimiter
Ctrl + Y
Paste whatever was cut by the last cut command
Ctrl + H
Same as backspace
Ctrl + C
Kill whatever you are running. Also clears everything on current line
Ctrl + D
Exit the current shell when no process is running, or send EOF to a the running process
Ctrl + Z
Puts whatever you are running into a suspended background process. fg restores it
Ctrl + _
Undo the last command. (Underscore. So it's actually Ctrl + Shift + minus)
Ctrl + T
Swap the last two characters before the cursor
Ctrl + F
Move cursor one character forward
Ctrl + B
Move cursor one character backward
Option + →
Move cursor one word forward
Option + ←
Move cursor one word backward
Esc + T
Swap the last two words before the cursor
Esc + Backspace
Cut one word backwards using none alphabetic characters as delimiters
Tab
Auto-complete files and folder names
Core
Key/Command
Description
cd [folder]
Change directory e.g. cd Documents
cd
Home directory
cd ~
Home directory
cd /
Root of drive
cd -
Previous directory
ls
Short listing
ls -l
Long listing
ls -a
Listing incl. hidden files
ls -lh
Long listing with Human readable file sizes
ls -R
Entire content of folder recursively
sudo [command]
Run command with the security privileges of the superuser (Super User DO)
open [file]
Opens a file ( as if you double clicked it )
top
Displays active processes. Press q to quit
nano [file]
Opens the file using the nano editor
vim [file]
Opens the file using the vim editor
clear
Clears the screen
reset
Resets the terminal display
Chaining
Key/Command
Description
[command-a]; [command-b]
Run command A and then B, regardless of success of A
[command-a] && [command-b]
Run command B if A succeeded
[command-a] || [command-b]
Run command B if A failed
[command-a] &
Run command A in background
Piping
Key/Command
Description
[command-a] | [command-b]
Run command A and then pass the result to command B e.g ps auxwww | grep google
History
Key/Command
Description
history n
Shows the stuff typed – add a number to limit the last n items
Ctrl + r
Interactively search through previously typed commands
![value]
Execute the last command typed that starts with ‘value’
![value]:p
Print to the console the last command typed that starts with ‘value’
!!
Execute the last command typed
!!:p
Print to the console the last command typed
File management
Key/Command
Description
touch [file]
Create a new file
pwd
Full path to working directory
.
Current folder, e.g. ls .
..
Parent/enclosing directory, e.g. ls ..
ls -l ..
Long listing of parent directory
cd ../../
Move 2 levels up
cat
Concatenate to screen
rm [file]
Remove a file, e.g. rm data.tmp
rm -i [file]
Remove with confirmation
rm -r [dir]
Remove a directory and contents
rm -f [file]
Force removal without confirmation
cp [file] [newfile]
Copy file to file
cp [file] [dir]
Copy file to directory
mv [file] [new filename]
Move/Rename, e.g. mv file1.ad /tmp
pbcopy < [file]
Copies file contents to clipboard
pbpaste
Paste clipboard contents
pbpaste > [file]
Paste clipboard contents into file, pbpaste > paste-test.txt
Directory management
Key/Command
Description
mkdir [dir]
Create new directory
mkdir -p [dir]/[dir]
Create nested directories
rmdir [dir]
Remove directory ( only operates on empty directories )
rm -R [dir]
Remove directory and contents
less [file]
Output file content delivered in screensize chunks
[command] > [file]
Push output to file, keep in mind it will get overwritten
[command] >> [file]
Append output to existing file
[command] < [file]
Tell command to read content from a file
Search
Key/Command
Description
find [dir] -name [search_pattern]
Search for files, e.g. find /Users -name "file.txt"
grep [search_pattern] [file]
Search for all lines that contain the pattern, e.g. grep "Tom" file.txt
grep -r [search_pattern] [dir]
Recursively search in all files in specified directory for all lines that contain the pattern
grep -v [search_pattern] [file]
Search for all lines that do NOT contain the pattern
grep -i [search_pattern] [file]
Search for all lines that contain the case-insensitive pattern
mdfind [search_pattern]
Spotlight search for files (names, content, other metadata), e.g. mdfind skateboard
mdfind -onlyin [dir] -name [pattern]
Spotlight search for files named like pattern in the given directory
Help
Key/Command
Description
[command] -h
Offers help
[command] --help
Offers help
info [command]
Offers help
man [command]
Show the help manual for [command]
whatis [command]
Gives a one-line description of [command]
apropos [search-pattern]
Searches for command with keywords in description