You may or may not know about the ditto command on OS X. Ditto will duplicate “all” data from one location to another. This includes permissions, metadata, and hidden ‘dot’ files.
Lets say I want to copy everything from
/Users/username2 but the directory “username2” does not exist.
With ditto you use this command:
sudo ditto /Users/username1 /Users/username2
This will create the
username2 directory then copy all the contents into it. If you were to use the command with out
username2 as the destination. The contents of
username1 would be copied into
/Users making a mess of things.
You could have created the directory username2 then copied everything into it but then you wouldn’t get the permissions transfer to the username2 directory its self.
This is the perfect option for changing a username of a user on a Mac. Once you have copied everything from one username to another you can use the regular account creation tools in System Preference to now create a user for User Name2 with the short name username2. The Mac will now ask you if you want to use the existing folder for the new users home. Just say yes and you have a new user account using the same data that was in the old one. You can now delete the old user account and recover the space.
There is significantly more you can do with ditto but that covers most of what I’ve ever needed it for.