How to Copy Directories Recursively in Linux
Hey there! Welcome back to ProgramGuru.org. In this beginner-friendly Linux tutorial, we’re going to learn a very useful command—how to copy entire directories and everything inside them using the terminal.
Let’s say you have a folder filled with files and maybe even subfolders, and you want to make a complete copy of it somewhere else. That’s exactly what we mean by "copying a directory recursively."
🔧 Step 1: Understand the cp -r Command
In Linux, the cp command is used to copy files. But by default, it doesn't copy directories. So we add the -r option, which stands for "recursive."
cp -r [source_directory] [destination]
This tells Linux: "Please copy everything in the source directory, including its contents, subdirectories, and files, into the destination."
📁 Example 1: Copying a folder to your home directory
Let’s say we have a directory called project in the current folder, and we want to copy it to our home directory.
cp -r project ~/
This will create a copy of project inside your home folder.
📁 Example 2: Copy a folder and rename it
What if you want to copy the directory but give the copy a different name?
cp -r project project_backup
This creates a new folder named project_backup that’s an exact copy of project.
✅ Pro Tips
- Use
-v(verbose) to see what files are being copied:
cp -rv project project_backup
sudo.🧪 Try It Yourself
Create a test folder with some dummy files and try copying it around using different names and paths. Practice makes perfect!
📝 Recap
- Use
cp -rto copy directories and their contents - You can rename the copy or move it to a different location
- Add
-vto see what’s happening
That’s it! Now you know how to copy directories recursively in Linux. Stick with us on ProgramGuru.org for more beginner-friendly Linux tutorials.
