- 1Linux Topics Index
- 2How to Create a File in Linux
- 3How to Rename a File in Linux
- 4How to Copy a File in Linux
- 5How to Move a File in Linux
- 6How to Delete a File in Linux
- 7How to Create a Directory in Linux
- 8How to Delete a Directory in Linux
- 9How to Copy Directories Recursively in Linux
- 10Delete Directories Recursively in Linux
- 11How to View Hidden Files in Linux
- 12How to Create a Hidden File in Linux
- 13How to Create a Hidden Directory in Linux
- 14How to Find Files in Linux Using find Command
- 15Find Files in Linux Using locate Command
- 16How to View File Contents Using cat in Linux
- 17How to View File Contents Using less in Linux
- 18View File Contents Using the more Command in Linux
- 19Compare Files Using diff Command in Linux
- 20Compare Files in Linux Using cmp Command
- 21Check File Type in Linux with file Command
- 22Create Symbolic Links with ln -s in Linux
- 23How to Archive Files Using tar Command in Linux
- 24Compress Files with gzip in Linux – Beginner Tutorial
- 25How to Compress Files Using bzip2 in Linux
- 26Compress Files in Linux Using zip Command
- 27Extract Compressed Files using tar in Linux
- 28Extract ZIP Files on Linux with unzip
- 29How to Extract .gz Files using gunzip in Linux

- 1Linux Topics Index
- 2How to Create a File in Linux
- 3How to Rename a File in Linux
- 4How to Copy a File in Linux
- 5How to Move a File in Linux
- 6How to Delete a File in Linux
- 7How to Create a Directory in Linux
- 8How to Delete a Directory in Linux
- 9How to Copy Directories Recursively in Linux
- 10Delete Directories Recursively in Linux
- 11How to View Hidden Files in Linux
- 12How to Create a Hidden File in Linux
- 13How to Create a Hidden Directory in Linux
- 14How to Find Files in Linux Using find Command
- 15Find Files in Linux Using locate Command
- 16How to View File Contents Using cat in Linux
- 17How to View File Contents Using less in Linux
- 18View File Contents Using the more Command in Linux
- 19Compare Files Using diff Command in Linux
- 20Compare Files in Linux Using cmp Command
- 21Check File Type in Linux with file Command
- 22Create Symbolic Links with ln -s in Linux
- 23How to Archive Files Using tar Command in Linux
- 24Compress Files with gzip in Linux – Beginner Tutorial
- 25How to Compress Files Using bzip2 in Linux
- 26Compress Files in Linux Using zip Command
- 27Extract Compressed Files using tar in Linux
- 28Extract ZIP Files on Linux with unzip
- 29How to Extract .gz Files using gunzip in Linux

- 1How to Add a New User in Linux
- 2Modify Existing User in Linux
- 3Delete a User in Linux — Step-by-Step for Beginners
- 4Create a User Group in Linux - Step-by-Step Tutorial
- 5Linux: Add User to Group
- 6How to Remove a User from a Group in Linux
- 7Delete a User Group in Linux - Beginner Friendly Tutorial
- 8Linux su Command Tutorial – Switch Users Easily
- 9Linux sudo Command - Execute as Another User
- 10Change a User's Password in Linux Using passwd
- 11Set Password Expiry in Linux using chage
- 12Lock a User Account in Linux
- 13How to Unlock a User Account in Linux
- 14Configure User Login Shell in Linux
- 15How to Configure User Environment Variables in Linux
- 16Edit .bashrc and .profile in Linux - User Startup Files Tutorial
How to Copy Directories Recursively in Linux
Next Topic ⮕Delete Directories Recursively in Linux
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 -r
to copy directories and their contents - You can rename the copy or move it to a different location
- Add
-v
to 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.