Copy folder with files to another folder in Linux

David Y.

The Problem

How can I copy a folder containing files to another folder in Linux or another Unix-based operating system using the command line?

The Solution

The 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/

The -a flag is equivalent to -dr --preserve=all. This does the following:

  • -r will copy all folder contents recursively.
  • -d will preserve symlinks.
  • --preserve=all will 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 source.

To read more about cp, type man cp into your terminal.

Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.