How to Copy a File in Linux

How to Copy a File in Linux

Hey there, and welcome to ProgramGuru.org! In this tutorial, we're going to learn something really basic—but super important—when working with Linux: how to copy a file.

If you’re coming from a Windows or macOS background, you might be used to right-clicking and selecting “Copy.” But in Linux, we use the terminal—and trust me, it’s fast and powerful once you get used to it.

🔧 Command We'll Use: cp

The command to copy a file in Linux is:

cp source_file destination_file

Let’s walk through it with some examples.

📁 Example 1: Copy a File in the Same Directory

Suppose you have a file called notes.txt and you want to create a backup of it called notes_backup.txt. Here’s what you do:

cp notes.txt notes_backup.txt

This will create a new file called notes_backup.txt in the same folder.

Output:

No message is shown if successful. Use 'ls' to confirm the copy.

📁 Example 2: Copy a File to Another Directory

Let’s say you want to copy photo.jpg into a folder called backup/:

cp photo.jpg backup/

This places photo.jpg inside the backup folder.

Output:

No output means it worked. Run 'ls backup' to verify.

📁 Example 3: Copy a File and Rename It in the Destination

You can also copy and rename at the same time:

cp report.docx archive/report_2024.docx

This puts a renamed copy of the file into the archive/ directory.

🚫 What If the File Doesn’t Exist?

If you try to copy a file that doesn’t exist, you’ll get an error like:

cp: cannot stat 'fakefile.txt': No such file or directory

Always double-check the file name using ls or pwd if you’re not sure where you are.

Pro Tip: Use -v for Verbose Mode

Want to see what’s happening as you copy? Use the -v flag (v for verbose):

cp -v old.txt new.txt
'old.txt' -> 'new.txt'

Summary

  • Use cp source destination to copy files
  • Add -v to see what’s being copied
  • Use ls to confirm your file is there
  • Always check for typos to avoid errors

That’s it! You’ve just learned how to copy a file in Linux using the terminal like a pro. 🎉

If you found this useful, make sure to subscribe and check out more Linux tutorials on ProgramGuru.org. See you in the next one!

Srinivas Namala, author
About the author

Srinivas Namala

Software Engineer

Srinivas focuses on backend development, databases, systems, and the technologies used to build reliable server-side applications.

View LinkedIn profile ↗