Here's just a quick list of useful keyboard shortcuts for the terminal/OS. Left column is the command, right column is the keyboard shortcut description. I've also included some of the commands I use the most.

Key/CommandDescription
ctrl + AJump to the start of the current command line. Works in most text fields system-wide (Netbeans is a notable exception).
ctrl + EJump to the end of the current command line. Works in most text fields system-wide (Netbeans is a notable exception).
ctrl + LWipe the terminal display
cmd + KWipe the terminal display
ctrl + USlice text from the cursor back to the beginning of the line
ctrl + KSlice text from the cursor forward to the end of the line
ctrl + WSlice one word behind the cursor, using whitespace as the boundary
ctrl + YInsert the most recently sliced text
ctrl + HErase the character left of the cursor (same as pressing Backspace)
ctrl + CHalt the active process; also clears the entire line
ctrl + DSend EOF or, if the shell is idle, terminate it
ctrl + ZSuspend the foreground job; resume with fg
ctrl + _Reverse the previous edit (underscore = Shift + minus)
ctrl + TFlip the two characters immediately before the cursor
ctrl + FShift cursor one character to the right
ctrl + BShift cursor one character to the left
option + →Shift cursor one word to the right
option + ←Shift cursor one word to the left
Esc + TFlip the two words just before the cursor
Esc + BackspaceSlice one word behind the cursor, splitting on non-alphabetic chars
TabFinish file or folder names for you

Basic Core Commands

Key/CommandDescription
cd [folder]Switch to the named directory (e.g. cd Documents)
cdJump to your home folder
cd ~Jump to your home folder
cd /Jump to the filesystem root
cd -Jump to the previous working directory
lsCompact listing
ls -lVerbose listing
ls -aVerbose listing including hidden items
ls -lhVerbose listing with human-friendly size units
ls -RRecurse through sub-directories and list everything
sudo [command]Execute [command] with root privileges
open [file]Launch a file as though you double-clicked it in Finder
topShow live process stats (press q to exit)
nano [file]Edit file in the nano text editor
vim [file]Edit file in the vim text editor
clearEmpty the screen
resetRe-initialize the terminal display

CHAINING COMMANDS

Key/CommandDescription
[command-a]; [command-b]Run A, then B—success or failure of A is ignored
[command-a] && [command-b]Run B only if A exits successfully
[command-a] || [command-b]Run B only if A fails
[command-a] &Launch A in the background

PIPING COMMANDS

Key/CommandDescription
[command-a] | [command-b]Feed A’s stdout into B’s stdin (e.g. ps auxwww | grep google)

COMMAND HISTORY

Key/CommandDescription
history nDisplay recent commands—limit to last n if number supplied
ctrl + rSearch interactively through your shell history
![value]Re-run the most recent command starting with “value
![value]:pPrint (but don’t run) the most recent command starting with “value
!!Re-run the last command
!!.pPrint (but don’t run) the last command

FILE MANAGEMENT

Key/CommandDescription
touch [file]Create an empty file or update its timestamp
pwdShow absolute path of current directory
.Reference the current directory (ls .)
..Reference the parent directory (ls ..)
ls -l ..Detailed listing of parent directory
cd ../../Move up two directory levels
catDump file contents to stdout
rm [file]Delete a file (e.g. rm data.tmp)
rm -i [file]Delete with confirmation prompt
rm -r [dir]Delete directory and everything inside
rm -f [file]Force deletion without prompting
cp [file] [newfile]Duplicate file to new name
cp [file] [dir]Duplicate file into target directory
mv [file] [new filename]Move or rename (e.g. mv file1.ad /tmp)
pbcopy < [file]Send file contents to clipboard
pbpasteRetrieve clipboard contents
pbpaste > [file]Save clipboard into file (pbpaste > paste-test.txt)

DIRECTORY MANAGEMENT

Key/CommandDescription
mkdir [dir]Make a new directory
mkdir -p [dir]/[dir]Create nested path in one shot
rmdir [dir]Remove empty directory
rm -R [dir]Remove directory and its contents
less [file]Page through file content
[command] > [file]Redirect stdout to file (overwrites)
[command] >> [file]Append stdout to file
[command] < [file]Read stdin from file

SEARCH

Key/CommandDescription
find [dir] -name [pattern]Hunt for files matching pattern (e.g. find /Users -name "file.txt")
grep [pattern] [file]Display lines containing pattern (e.g. grep "Tom" file.txt)
grep -r [pattern] [dir]Recursively grep through directory
grep -v [pattern] [file]Show lines that do NOT match pattern
grep -i [pattern] [file]Case-insensitive pattern match
mdfind [pattern]Spotlight search across names, content, metadata (e.g. mdfind skateboard)
mdfind -onlyin [dir] -name [pattern]Limit Spotlight search to given directory and filename pattern

HELP

Key/CommandDescription
[command] -hDisplay concise help
[command] --helpDisplay concise help
apropos [keyword]Find commands related to keyword
info [command]Browse info documentation
man [command]Open the manual page for [command]
whatis [command]One-line summary of [command]

Sourced from terminal-mac-cheatsheet with some adjustments.