Signup/Sign In
Ask Question
Not satisfied by the Answer? Still looking for a better solution?

How do I copy folder with files to another folder in Linux?

I am facing some issues to copy a folder with files in that folder into another folder.
Command cp -r doesn't copy files in the folder.
Any help ?
by

2 Answers

Kajalsi45d
The choice you're searching for is - R
cp -R path_to_source path_to_destination/

If destination doesn't exist, it will be built.
-R means copy directories recursively. You can also apply -r as it's case-indifferent.
Note the differences with joining the trailing /.
MounikaDasa
You are looking for the cp command. You need to change directories so that you are outside of the directory you are trying to copy.

If the directory you're copying is called dir1 and you want to copy it to your /home/Pictures folder:

cp -r dir1/ ~/Pictures/
Linux is case-sensitive and also needs the / after each directory to know that it isn't a file. ~ is a special character in the terminal that automatically evaluates to the current user's home directory. If you need to know what directory you are in, use the command pwd.

When you don't know how to use a Linux command, there is a manual page that you can refer to by typing:

man [insert command here]
at a terminal prompt.

Also, to auto complete long file paths when typing in the terminal, you can hit Tab after you've started typing the path and you will either be presented with choices, or it will insert the remaining part of the path.

There is an important distinction between Linux and Unix in the answer because for Linux (GNU and BusyBox) -R, -r, and --recursive are all equivalent, as mentioned in this answer. For portability, i.e. POSIX compliance, you would want to use -R because of some implementation-dependent differences with -r. It's important to read the man pages to know any idiosyncrasies that may arise (this is a good use case to show why POSIX standards are useful).

Login / Signup to Answer the Question.