The cp
command, short for “copy,” is the main Linux utility for duplicating files and directories. Whether making a backup, organizing a project, or moving content, cp
allows smooth transfers and ensures the original remains unchanged.
Syntax of cp Command
To use cp
, provide at least two arguments: a source and a target.
cp [source_file] [destination]
If you specify a directory as the destination, the file is copied into that directory.
Why Use the cp Command?
- Protect your data with backups.
- Distribute files across different locations or drives.
- Safeguard originals before editing.
- Clone entire directory structures for new projects.
How to Use cp: Modes and Examples
1. Copy A File to Another File
cp report.md backup_report.md
If backup_report.md
doesn’t exist, it gets created. If it exists, the old content is lost, replaced by the new copy.
2. Copy Multiple Files to a Folder
cp intro.txt summary.txt notes.txt /archive/
All three files now appear in the /archive
folder. If the directory doesn’t exist, cp
creates it and fills it with the specified files (as long as you have permissions).
3. Copy Directories (Recursively)
cp -R projectX/ backup_projectX/
The -R
flag makes cp
copy the entire directory, including subfolders and files, preserving structure.
Useful cp Options
Option | Description | Example |
---|---|---|
-i | Prompt before overwriting existing files | cp -i notes.txt /archive/ |
-n | Don’t overwrite existing files in the destination | cp -n report.md /archive/ |
-r, -R | Copy directories and their contents recursively | cp -r images/ backup_images/ |
-v | Show progress and copied files | cp -v *.pdf /backup/ |
-p | Preserve original file attributes (timestamps, permissions, etc.) | cp -p config.yaml /backup/ |
-u | Only copy if source file is newer or missing in destination | cp -u draft.txt /docs/ |
-f | Force overwrite by removing destination file if needed | cp -f log.csv results/ |
-a | Archive mode: preserve structure and metadata, copy recursively | cp -a mydir/ copydir/ |
Wildcards for Quick Copying
Easily move groups of files by pattern:
cp *.jpg dummy_photos/
Copies all .jpg
files to the dummy_photos
folder.
Back Up With the –backup Option
Instead of overwriting, create a backup copy:
cp --backup report.md /archive/
If a file with the same name exists at the destination, a backup gets created.
Conclusion
Mastering the cp
command helps you protect, organize, and move data efficiently on any Linux system. Understanding its options keeps your work safe and saves time especially when handling critical system or project files.
Read More: History of Linux
Install Kali Linux Here