How can I copy a folder containing files to another folder in Linux or another Unix-based operating system using the command line?
cp command takes a source followed by a destination argument. To copy a folder with its contents, we must perform a recursive copy. We can do the following:
cp -a source/. destination/
-a flag is equivalent to
-dr --preserve=all. This does the following:
-rwill copy all folder contents recursively.
-dwill preserve symlinks.
--preserve=allwill preserve all file attributes, such as ownership, permissions, and timestamps.
In the command, we use
source/. instead of
source to take advantage of Bash globbing and ensure we copy any hidden files or folders, which would be missed if we just used
To read more about
man cp into your terminal.