What is a good way to recursively copy contents of directory (including hidden files) to another directory?
A simple rsync command is excellent for this! The command is simply:
$ rsync -a /source /destination
For example, I am backing up my entire home directory to another disk like so:
$ rsync -a /home/stmiller /media/linuxbkup/bkup
I like to use the following options for backup which preserve permissions, as well as show progress:
$ rsync -avP --delete /home/stmiller /media/backupdrive/bkup