37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
|
---
|
||
|
title: Bash Copy
|
||
|
---
|
||
|
## Bash command: cp
|
||
|
`cp` is used to copy files and directories.
|
||
|
It can be used to copy a file, copy a file to a directory, or copy a directory.
|
||
|
### Usage
|
||
|
```
|
||
|
cp [options] source target
|
||
|
```
|
||
|
Commonly used options:
|
||
|
* `-p` (preserve) - used to preserve time of the last data modification, time of last access, ownership, and permissions of the source for the target
|
||
|
* `-R or -r` (recursive) - used to recursively copy directories
|
||
|
### Examples
|
||
|
#### Copy a file
|
||
|
```bash
|
||
|
cp somefile.txt newfile.txt
|
||
|
```
|
||
|
Run `ls` and you will see you have a new file called `newfile.txt`
|
||
|
#### Copy a file to a directory
|
||
|
```bash
|
||
|
cp -p somefile.txt your/target/directory
|
||
|
```
|
||
|
`cd` into the target directory, `ls`, and you will see a copy of your file. The `-p` option is added to preserve the files attributes.
|
||
|
#### Copy multiple files to a directory
|
||
|
```bash
|
||
|
cp file1.txt file2.txt fileN.txt your/target/directory
|
||
|
```
|
||
|
`cd` into the target directory, `ls`, and you will see copies of all of the files.
|
||
|
#### Copy a directory
|
||
|
```bash
|
||
|
cp -R directory/to/copy your/target/directory
|
||
|
```
|
||
|
`cd` into the target directory and `ls` to see your directory. The `-R` option is added to recursively copy everything in the directory.
|
||
|
### More Information
|
||
|
* run `man cp` to get a list of all options for this command
|
||
|
* [Wikipedia](https://en.wikipedia.org/wiki/Cp_(Unix))
|