$ curl cheat.sh/
# To copy a file:
cp ~/Desktop/foo.txt ~/Downloads/foo.txt

# To copy a directory:
cp -r ~/Desktop/cruise_pics/ ~/Pictures/

# To create a copy but ask to overwrite if the destination file already exists:
cp -i ~/Desktop/foo.txt ~/Documents/foo.txt

# To create a backup file with date:
cp foo.txt{,."$(date +%Y%m%d-%H%M%S)"}

# To copy a symlink that points to a directory (and is thus soft) and not
# 'expand' the symlink (aka, preserve its nature as a symlink):
# Note this does NOT work (note trailing '/'):  cp -P /path/to/symlink-dir/
cp -P <symlink-dir> <dest-dir>

# To copy sparsely:
cp --sparse=always <src> <dest>

# cp
# Copy files and directories.
# More information: <https://www.gnu.org/software/coreutils/cp>.

# Copy a file to another location:
cp path/to/source_file.ext path/to/target_file.ext

# Copy a file into another directory, keeping the filename:
cp path/to/source_file.ext path/to/target_parent_directory

# Recursively copy a directory's contents to another location (if the destination exists, the directory is copied inside it):
cp -R path/to/source_directory path/to/target_directory

# Copy a directory recursively, in verbose mode (shows files as they are copied):
cp -vR path/to/source_directory path/to/target_directory

# Copy multiple files at once to a directory:
cp -t path/to/destination_directory path/to/file1 path/to/file2 ...

# Copy text files to another location, in interactive mode (prompts user before overwriting):
cp -i *.txt path/to/target_directory

# Follow symbolic links before copying:
cp -L link path/to/target_directory

# Use the first argument as the destination directory (useful for `xargs ... | cp -t <DEST_DIR>`):
cp -t path/to/target_directory path/to/file_or_directory1 path/to/file_or_directory2 ...

Follow @igor_chubin cheat.sh