Copy using cp to include hidden files and hidden directories and their contents in Linux

cp -r /etc/. ~/etccopy
note the /. following /etc

After the command was ran - the hidden files in the subdirectories are present:
$ ls -a etccopy/skel/
.  ..  .bash_logout  .bashrc  .face  .face.icon  .profile
Alternative 1:
rsync -aP /etc/ ~/etccopy
Alternative 2:
cd /etc
find | cpio -pdumv ~/etccopy
cd -