title: UNIX How to copy entire directory (subdirectories and files) from one location to another and retain permissions
body: <p>I just copied an entire directory structure from one location on my server to another:</p>
  
  <pre><code>cp -r /home/abc/public_html/* /home/xyz/public_html/
  </code></pre>
  
  <p>That worked fine. Except the dirs &amp; files are now owned by <code>root</code> and the group is <code>root</code> as well.</p>
  
  <p>How do I perform this copy action and retain the dirs &amp; files <code>ownership</code>, <code>groups</code>, and <code>permission</code> settings?</p>
  
  <p>Here is my <code>man cp</code></p>
  
  <pre><code>NAME
         cp - copy files and directories
  
  SYNOPSIS
         cp [OPTION]... [-T] SOURCE DEST
         cp [OPTION]... SOURCE... DIRECTORY
         cp [OPTION]... -t DIRECTORY SOURCE...
  
  DESCRIPTION
         Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
  
         Mandatory arguments to long options are mandatory for short options too.
  
         -a, --archive
                same as -dR --preserve=all
  
         --backup[=CONTROL]
                make a backup of each existing destination file
  
         -b     like --backup but does not accept an argument
  
         --copy-contents
                copy contents of special files when recursive
  
         -d     same as --no-dereference --preserve=links
  
         -f, --force
                if an existing destination file cannot be opened, remove it and try again (redundant if the -n option is used)
  
         -i, --interactive
                prompt before overwrite (overrides a previous -n option)
  
         -H     follow command-line symbolic links in SOURCE
  
         -l, --link
                link files instead of copying
  
         -L, --dereference
                always follow symbolic links in SOURCE
  
         -n, --no-clobber
                do not overwrite an existing file (overrides a previous -i option)
  
         -P, --no-dereference
                never follow symbolic links in SOURCE
  
         -p     same as --preserve=mode,ownership,timestamps
  
         --preserve[=ATTR_LIST]
  </code></pre>