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))
							 |