cp command
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.
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.
cp report.md backup_report.mdIf backup_report.md doesn’t exist, it gets created. If it exists, the old content is lost, replaced by the new copy.
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).
cp -R projectX/ backup_projectX/The -R flag makes cp copy the entire directory, including subfolders and files, preserving structure.
| 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/ |
Easily move groups of files by pattern:
cp *.jpg dummy_photos/Copies all .jpg files to the dummy_photos folder.
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.
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
Apache Cassandra is a free, open-source NoSQL database designed for high availability and linear scalability with…
Rocket.Chat is a free, open-source team communication platform built with the Meteor framework. It is a…
MySQL is the most popular open-source relational database management system. It is fast, reliable, and scales…
Apache is the most widely used web server in the world. It is free, open-source, and…
NetBeans is a free, open-source, cross-platform IDE developed by the Apache Software Foundation. It was one…
Pip is the official package manager for Python and the standard way to install libraries from…